[object Object]

← back to Dw Domain Fleet

fleet: Instagram embed on homePage for patterndesignlab + hollywoodwallcovering (TK-11322)

830fbd902499b8f3b268bd9635637b3efaf16f8c · 2026-09-10 00:02:17 -0700 · Steve Abrams

These 2 sister domains are served by dw-domain-fleet (dwf-*), not their standalone
repos, so the IG embed goes in the homePage render (gated on cfg.instagram_posts).
Latest 3 real posts per account from the Graph API. Only sites with the field render it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QE2344y5dVpRCba9MDDRcQ

Files touched

Diff

commit 830fbd902499b8f3b268bd9635637b3efaf16f8c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Sep 10 00:02:17 2026 -0700

    fleet: Instagram embed on homePage for patterndesignlab + hollywoodwallcovering (TK-11322)
    
    These 2 sister domains are served by dw-domain-fleet (dwf-*), not their standalone
    repos, so the IG embed goes in the homePage render (gated on cfg.instagram_posts).
    Latest 3 real posts per account from the Graph API. Only sites with the field render it.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01QE2344y5dVpRCba9MDDRcQ
---
 shared/render.js                 | 21 +++++++++++++++++++++
 sites/hollywoodwallcovering.json |  8 +++++++-
 sites/patterndesignlab.json      |  8 +++++++-
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/shared/render.js b/shared/render.js
index c8d165a..6ca048d 100644
--- a/shared/render.js
+++ b/shared/render.js
@@ -653,6 +653,7 @@ function homePage(cfg, heroImgs, featured) {
     <a class="hero-cta__btn" style="position:static;background:var(--accent);color:#fff" href="/catalog">View Full Catalog</a>
   </div>
 </div>
+${igEmbed(cfg)}
 ${footer(cfg)}
 ${nsModal(cfg)}
 ${script(cfg)}
@@ -661,6 +662,26 @@ ${heroRotate(slides.length)}
 </body></html>`;
 }
 
+// Official Instagram embed (embed.js) of the site's latest real posts — rendered only
+// when the site JSON carries cfg.instagram_posts (set for fleet-served sister sites like
+// patterndesignlab / hollywoodwallcovering, whose home is this homePage render). TK-11322.
+function igEmbed(cfg) {
+  const handle = String(cfg.instagram || '').replace(/^@/, '').trim();
+  const posts = Array.isArray(cfg.instagram_posts) ? cfg.instagram_posts.filter(Boolean) : [];
+  if (!handle || !posts.length) return '';
+  const cards = posts.map(u =>
+    `      <blockquote class="instagram-media" data-instgrm-permalink="${esc(u)}" data-instgrm-version="14" style="margin:0;min-width:250px;max-width:328px;width:100%"></blockquote>`
+  ).join('\n');
+  return `
+<section class="ig-embed" aria-label="Follow us on Instagram" style="max-width:1120px;margin:44px auto;padding:0 20px">
+  <h2 style="font-family:var(--serif,Georgia,serif);font-weight:500;letter-spacing:.02em;text-align:center;margin:0 0 20px">Follow <a href="https://www.instagram.com/${esc(handle)}/" target="_blank" rel="noopener noreferrer">@${esc(handle)}</a> on Instagram</h2>
+  <div class="ig-embed__row" style="display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:flex-start">
+${cards}
+  </div>
+</section>
+<script async src="//www.instagram.com/embed.js"></script>`;
+}
+
 /* client-side sort + density for the homepage Featured grid (catalog does it
    server-side; the featured set is small + server-rendered, so reorder in JS).
    Shares localStorage keys with /catalog so the shopper's choice carries over. */
diff --git a/sites/hollywoodwallcovering.json b/sites/hollywoodwallcovering.json
index 0d6f394..7099f04 100644
--- a/sites/hollywoodwallcovering.json
+++ b/sites/hollywoodwallcovering.json
@@ -33,5 +33,11 @@
     "font": "bodoni"
   },
   "ga4": "G-ZSCWGG7FZW",
-  "gtm": "GTM-XXXXXXX"
+  "gtm": "GTM-XXXXXXX",
+  "instagram": "hollywoodwallcoverings",
+  "instagram_posts": [
+    "https://www.instagram.com/p/DdFmibnm38B/",
+    "https://www.instagram.com/p/DdFBO5RGb8L/",
+    "https://www.instagram.com/p/DdEoGOzmz3T/"
+  ]
 }
diff --git a/sites/patterndesignlab.json b/sites/patterndesignlab.json
index a32b243..3a3ac90 100644
--- a/sites/patterndesignlab.json
+++ b/sites/patterndesignlab.json
@@ -31,5 +31,11 @@
     "sans": "-apple-system,'Inter',system-ui,sans-serif",
     "palette": "plum",
     "font": "playfair"
-  }
+  },
+  "instagram": "patterndesignlab",
+  "instagram_posts": [
+    "https://www.instagram.com/p/DdFquXUG44A/",
+    "https://www.instagram.com/p/DdFFa1vAZi6/",
+    "https://www.instagram.com/p/DdEsRXJG41A/"
+  ]
 }

← 38fefae monetize: per-site unique visual identity — load each site's  ·  back to Dw Domain Fleet  ·  Render generated AdSense article bodies 77bc6d8 →