← back to Corkwallcovering
Hero hydration: upscale to largest Shopify variant
dcac4b64febc14b87b2c41a32cd1490f6d9396c1 · 2026-05-06 17:56:58 -0700 · SteveStudio2
Files touched
Diff
commit dcac4b64febc14b87b2c41a32cd1490f6d9396c1
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Wed May 6 17:56:58 2026 -0700
Hero hydration: upscale to largest Shopify variant
---
public/index.html | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/public/index.html b/public/index.html
index 55708fb..fced77c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -160,7 +160,7 @@ textarea:focus-visible,
</header>
<section class="cinema">
- <div class="cinema-bg"></div>
+ <div class="cinema-bg" id="heroBg"></div>
<div class="corner-mark">Living Texture</div>
<div class="center-mark">CORK WALLCOVERING<span class="tm">.</span><span class="sub">Living texture</span></div>
<div class="meta-line">Cork · Bark · Sustainable<span class="num" id="heroNum"></span></div>
@@ -436,6 +436,25 @@ slider.addEventListener('input', e => setDensity(parseInt(e.target.value)));
const savedDensity = parseInt(localStorage.getItem('cork_theme_density') || '6');
if (savedDensity >= 4 && savedDensity <= 12) { slider.value = savedDensity; setDensity(savedDensity); }
+// DW STANDARD: hero on the front page pulls from products.json[0].image_url
+// (the pinned hero from dw-collections-viewer). Falls back to /hero-bg.jpg if
+// the API is unreachable or no products are configured.
+(async function hydrateHero() {
+ try {
+ const r = await fetch('/api/products?limit=1');
+ if (!r.ok) return;
+ const d = await r.json();
+ let url = d.items && d.items[0] && d.items[0].image_url;
+ if (!url) return;
+ if (/^https:\/\/(?:cdn\.shopify\.com|designerwallcoverings\.com)\//.test(url)) {
+ // Upgrade to largest variant — strip _NxN size suffix before extension
+ url = url.replace(/(_\d+x\d*)(\.(jpg|jpeg|png|webp|gif))(\?|$)/i, '$2$4');
+ const bg = document.getElementById('heroBg');
+ if (bg) bg.style.backgroundImage = `url('${url}')`;
+ }
+ } catch(e){}
+})();
+
// Sort select — DW STANDARD on every product-rendering site
const sortSel = document.getElementById('sortSelect');
if (sortSel) {
← 3791e1f Add sort dropdown + sortProducts() — Newest/Color/Style/SKU/
·
back to Corkwallcovering
·
graphic-loop pass 2: fix .corner-mark contrast + soften hero 0bb44d6 →