Restorationwallpaper
Search the build
-
435f0be2026-07-06 Square product-card images (aspect-ratio 1/1) -
bc53d582026-07-03 corner-nav: move login to its own hamburger in upper-left (panel slides from left) -
3d1f3172026-06-19 Mount new-arrivals promo strip (Tier B): require ../_shared/_universal-promo-banner before express.static — text-only rotating 'New · <product> →' banner from /api/products?sort=newest. Local only; deploy gated. -
30851702026-06-18 fix: safeImg allow same-origin /img/ proxy urls (vendor-neutral image proxy 2026-06-03) — product cards were falling back to hero-bg (images all wrong) -
e4df22b2026-06-11 Recompute aesthetic from tags via classifyAesthetic (was degenerate 'all' snapshot) -
314f73f2026-06-09 step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs -
688dfe72026-06-09 snapshot before step2 codemod -
b7ace022026-06-03 seo: add og:image + twitter card (social-share preview) — zero visual -
a5f431a2026-06-03 Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle -
70fcdd32026-06-03 seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change -
16b8fe82026-06-03 a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association) -
a73b4b62026-06-01 admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only) -
0a97da62026-06-01 catalog: fill from Shopify (restorationwallpaper niche) -
4b18ad12026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
95cdaf12026-06-01 dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names -
cdcff912026-06-01 FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body> -
93ebc3c2026-06-01 header name → domain name 'Restoration Wallpaper' (remove odd brand name) -
80128f42026-06-01 hero: huge 2520px clean hero from dw_unified (graphic-designer vetted; no header/text/watermark) -
5ab92992026-06-01 hero: graphic-designer-vetted clean replacement (no baked text/watermark/vendor logo) -
8be40072026-06-01 hero/ideas: single big full-bleed hero (remove 2x2 four-square grid + hero-4grid.js/json + inert CSS), collapse Ideas to one rail -
3f142482026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
baa8e202026-06-01 Re-add Big Red embed (revert conflicted; re-injected) -
ed824ad2026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch -
bc146df2026-06-01 Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep) -
a3576172026-05-30 fix: block .bak-* files from static serving and gitignore them -
01df1cb2026-05-29 feat(fleet): theme1/theme2 query-param-gated toggle on catalog page -
d3d946c2026-05-28 scrub vendor name leaks from products.json source (59 products: title/vendor/tags cleaned per sku-redact denylist) -
06b44912026-05-26 frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified -
13ca6a32026-05-26 sku-redact: wire shared vendor-id display scrubber -
8f1abe92026-05-26 rails: tag-aware facet filter (productInRail) so rail drill-down + pills return products (fix regression) -
e1144012026-05-26 rails: editorial labels for new tag-derived rail keys (index.html LABELS) -
00b8d922026-05-26 rails: build from tags via shared rail-match helper (fix degenerate single-rail collapse) -
30b80422026-05-26 rails: editorial labels for firing aesthetic buckets -
3e1baf62026-05-26 rails: wire /api/sliders into horizontal scroll-snap rail sections [rails-degenerate] -
04071f82026-05-25 /api/facets: counts + total reflect filtered list (q + aesthetic), not entire catalog -
e6686252026-05-25 wire api-vendor-redact middleware (strip vendor field + vendors facet + ?vendor= query from /api/*) -
6b677802026-05-25 retag aesthetic from PG: 50 rows updated -
b00a1d82026-05-20 add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh) -
9cb2abd2026-05-20 fix: /about → history.html alias (was 404) -
0cb710c2026-05-19 make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock) -
0123a502026-05-19 Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap) -
1aa403e2026-05-19 fix: null-guard dead #theme-toggle reference (clean console + immediate grid render) -
64ebfe82026-05-19 Phase 2: mobile-ready + tap-to-reveal -
27123722026-05-19 stage2: wire microsite catalog + admin CRUD + grid/list view -
bee78b72026-05-19 Add clean-URL routes for extension-less nav pages -
a0100f12026-05-19 Untrack editor snapshot files + guard .bak/.pre- from static root -
aed74232026-05-19 Wire sort select to product API — state.sort now sent as query param and hydrated before first grid load -
8b4efda2026-05-14 hero-4grid: relocate json from data/ to public/ for Express static -
32ff2932026-05-14 4-grid hero: drop-in script + crop CSS + initial 4 newest products -
ff9d1f82026-05-14 favicon: Mag-7-inspired SVG glyph -
e7626992026-05-13 fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong -
de743bf2026-05-13 corner-nav: title-case the brand name even when .ns-name source is lowercase -
dbb6b9d2026-05-13 corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering) -
b3ac9042026-05-13 corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body> -
ea84e922026-05-13 embed Big Red customer chat (lower-left, retail mode, vendor-redacted) -
a38dd652026-05-13 chip-click → product details modal; vendor redacted in card overlay -
c6ec9152026-05-13 add universal corner-nav.js (UR 4-icon: bag/account/search/menu) -
870cee42026-05-13 remove stray contact modal markup that was rendering inline on the page -
1bff38f2026-05-13 header: remove duplicate <header> with dwmOpen-contact (was overlapping ns-header) + add display:none default to .ns-modal so How-can-we-help only opens on click. Restores canonical logo-UL + hamburger-UR layout per MEMORY rule. -
91468552026-05-13 brand: replace remaining fake brand globally → 'restorationwallpaper' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule -
7beb7bb2026-05-10 sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options -
90915192026-05-10 sort-skill canonical: add light-dark/dark-light/wheel + helpers -
beb6adb2026-05-06 initial scaffold (gitify-all 2026-05-06)
Authors
- Steve63
Agents used
Skills used
- /vendor3
- /sample2
- /tags2
- /body2
- /watermark2
- /list2
- /about2
- /products1
- /handle1
- /a11y1
- /text1
- /ideas1
- /json1
- /index1
- /theme21
- /detail1
- /sliders1
- /facets1
- /admin-catalog1
- /care1
- /history1
- /sourcing1
- /trade1
- /vocabulary1
- /account1
- /search1
- /menu1
- /meta1
- /wordmark1
- /footer1
Creative ideas + design notes
a357617 · 2026-05-30 · fix: block .bak-* files from static serving and gitignore them
The guard middleware regex \.bak(\.|$) and .gitignore patterns *.bak / *.bak.* both missed filenames like index.html.bak-20260526152130 (hyphen-separated timestamp). - Extend middleware regex to \.bak(\.|[-]|$) to also match .bak-TIMESTAMP - Add *.bak-* to .gitignore - Remove the leaked public/index.html.bak-20260526152130 file Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
01df1cb · 2026-05-29 · feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
Default: theme1, toggle hidden. Opt-in via ?theme=2 or localStorage
('wallco-page-theme' key shared across the fleet). Same gate pattern
as dw-domain-fleet productPage.
6b67780 · 2026-05-25 · retag aesthetic from PG: 50 rows updated
before: all=75 after: all=25, victorian=50 Backfills correct multi-bucket aesthetic tagging from dw_unified.microsite_products (DTD verdict B, 2026-05-25 fleet retag run). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bee78b7 · 2026-05-19 · Add clean-URL routes for extension-less nav pages
/about (the nav 'About' link, previously 404) now resolves to the 'A short history' page; /care /history /sourcing /trade /vocabulary also get clean-URL routes mapping to their public/*.html files. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
a0100f1 · 2026-05-19 · Untrack editor snapshot files + guard .bak/.pre- from static root
Removes 17 committed *.bak / *.pre-* snapshots, broadens .gitignore to *.bak.* and *.pre-*, and adds an Express middleware that 404s any .bak/.pre- path before the static handler. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
- .gitignore
- _universal-auth.js
- _universal-contact.js
- data/products.json
- ecosystem.config.cjs
- package-lock.json
- package.json
- public/care.html
- public/corner-nav.js
- public/dw-header.js
- public/dw-theme-nav.js
- public/favicon.svg
- public/hero-bg.jpg
- public/hero-pool.json
- public/history.html
- public/index.html
- public/sku-redact.js
- public/sourcing.html
- public/trade.html
- public/vocabulary.html
- server.js
- site.config.json