[object Object]

← back to 1980swallpaper

fix(retrowalls): repair hero-mode toggle, dedupe header, align package name

bb4b6442ffb6c5c4b27ffc1bd51c6c980f0d1bcf · 2026-09-15 13:24:40 -0700 · Steve Abrams

- R4 hero-mode: four-square branch was unreachable (mode always 'huge');
  switch to a visit-parity counter so visit 2+ actually alternates.
- Remove the bare over-hero <header> that overlapped the sticky .ns-header
  (two top:0 nav bars); fold its theme toggle into .ns-header.
- package.json name 1980swallpaper -> retrowalls to match the rebrand.

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

Files touched

Diff

commit bb4b6442ffb6c5c4b27ffc1bd51c6c980f0d1bcf
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Sep 15 13:24:40 2026 -0700

    fix(retrowalls): repair hero-mode toggle, dedupe header, align package name
    
    - R4 hero-mode: four-square branch was unreachable (mode always 'huge');
      switch to a visit-parity counter so visit 2+ actually alternates.
    - Remove the bare over-hero <header> that overlapped the sticky .ns-header
      (two top:0 nav bars); fold its theme toggle into .ns-header.
    - package.json name 1980swallpaper -> retrowalls to match the rebrand.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01EwddjWujivh6oHPnqGqRoK
---
 package.json      |  2 +-
 public/index.html | 19 ++++++++++---------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/package.json b/package.json
index 2642b68..5fa9492 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "1980swallpaper",
+  "name": "retrowalls",
   "version": "0.1.1",
   "description": "1980s WALLPAPER — DW family vertical",
   "main": "server.js",
diff --git a/public/index.html b/public/index.html
index 90b89c7..cd158bc 100644
--- a/public/index.html
+++ b/public/index.html
@@ -502,6 +502,7 @@ html.hf-sample  [data-f="sample"]  { display:none !important }
             <a href="/about">About</a>
             <button type="button" onclick="nsContactOpen()">Contact</button>
         </nav>
+        <button type="button" class="theme-toggle" id="theme-toggle" aria-label="Theme toggle">☾</button>
         <button type="button" class="mobile-toggle" aria-label="Toggle menu" aria-controls="nsPrimaryNav" aria-expanded="false" onclick="nsToggleNav(this)">
             <span></span><span></span><span></span>
         </button>
@@ -544,10 +545,9 @@ html.hf-sample  [data-f="sample"]  { display:none !important }
 
 
 
-<header>
-  <button class="h-link" onclick="dwmOpen('Contact')" aria-label="Contact"><svg class="h-icon" viewBox="0 0 24 24"><path d="M3 7h18M3 12h18M3 17h18"/></svg><span>Contact</span></button>
-  <button class="theme-toggle" id="theme-toggle" aria-label="Theme toggle">☾</button>
-</header>
+<!-- bare over-hero <header> removed: it duplicated/overlapped the sticky .ns-header
+     (two top:0 nav bars). Its unique control (the theme toggle) was folded into
+     .ns-header below; Contact is already provided there via nsContactOpen(). -->
 
 <section class="cinema" id="hero">
   <a class="cinema-logo" href="/" aria-label="retrowalls home">retrowalls</a>
@@ -1558,11 +1558,12 @@ document.addEventListener('DOMContentLoaded', function(){ try { renderRailSectio
 (function(){
   try {
     var k='dw-hero-mode';
-    var prev=parseInt(localStorage.getItem(k)||'0',10);
-    var next=(prev+1)%2;
-    localStorage.setItem(k,String(next));
-    if (prev>0) {
-      var mode = next===0 ? 'huge' : 'four-square';
+    // Visit counter (parity): v=1 first visit stays server-default huge;
+    // v=2 -> four-square, v=3 -> huge, v=4 -> four-square … so it actually alternates.
+    var v=parseInt(localStorage.getItem(k)||'0',10)+1;
+    localStorage.setItem(k,String(v));
+    if (v>=2) {
+      var mode = (v % 2 === 0) ? 'four-square' : 'huge';
       document.documentElement.dataset.heroMode = mode;
       if (mode === 'four-square') {
         // Try to populate four-square from existing product list (newest 4)

← 4d0536c retrowalls rebrand: fix review findings + reconcile data/con  ·  back to 1980swallpaper  ·  auto-data-snapshot: 2026-09-15T13:40:09 (1 data files) — .de 0555db6 →