[object Object]

← back to Dw Domain Fleet

fix(fleet pdp): toggle hidden until ?theme=N opt-in

34fbe0e962b61c8fd1d6d360820205b87caa2685 · 2026-05-29 13:13:47 -0700 · Steve Abrams

Prior version always set data-page-theme attribute even for default
visitors, defeating the gate. Now: no opt-in → attribute unset, toggle
display:none. Opt-in via URL or localStorage → attribute set, toggle
becomes inline-flex.

Files touched

Diff

commit 34fbe0e962b61c8fd1d6d360820205b87caa2685
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Fri May 29 13:13:47 2026 -0700

    fix(fleet pdp): toggle hidden until ?theme=N opt-in
    
    Prior version always set data-page-theme attribute even for default
    visitors, defeating the gate. Now: no opt-in → attribute unset, toggle
    display:none. Opt-in via URL or localStorage → attribute set, toggle
    becomes inline-flex.
---
 shared/render.js | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/shared/render.js b/shared/render.js
index 1189663..d0ce0b5 100644
--- a/shared/render.js
+++ b/shared/render.js
@@ -639,13 +639,15 @@ function productPage(cfg, p, related) {
   var qs = new URLSearchParams(location.search);
   var fromUrl = qs.get('theme');
   var saved = null; try { saved = localStorage.getItem('wallco-page-theme'); } catch(e){}
-  var theme;
+  var theme = null;
   if (fromUrl === '2' || fromUrl === 'theme2') theme = 'theme2';
   else if (fromUrl === '1' || fromUrl === 'theme1') theme = 'theme1';
   else if (saved === 'theme2' || saved === 'theme1') theme = saved;
-  else theme = 'theme1';
-  document.documentElement.setAttribute('data-page-theme', theme);
-  if (fromUrl) { try { localStorage.setItem('wallco-page-theme', theme); } catch(e){} }
+  if (theme) {
+    document.documentElement.setAttribute('data-page-theme', theme);
+    if (fromUrl) { try { localStorage.setItem('wallco-page-theme', theme); } catch(e){} }
+  }
+  /* No opt-in → no attribute set, toggle stays display:none (gate works). */
 })();
 </script>
 <style id="page-theme-css-fleet">
@@ -662,8 +664,7 @@ function productPage(cfg, p, related) {
     background:#fafafa !important; border:1px solid #e5e5e5 !important; box-shadow:none !important;
   }
   #page-theme-toggle{ display:none; }
-  [data-page-theme="theme2"] #page-theme-toggle,
-  [data-page-theme="theme1"] #page-theme-toggle{ display:inline-flex; }
+  [data-page-theme] #page-theme-toggle{ display:inline-flex; }
   #page-theme-toggle{
     position:fixed; top:96px; right:14px; z-index:90;
     gap:0; align-items:center;

← 453b000 feat(fleet pdp): theme1/theme2 toggle via ?theme=N query-par  ·  back to Dw Domain Fleet  ·  fix: strip 3rd-party vendor tokens from product slug/handle ee30c6a →