Chinoiseriewallpaper
Search the build
-
19c70262026-07-27 migrate GoDaddy auth → Bearer PAT (TK-10 key rotation); sso-key fallback retained -
42432382026-07-03 corner-nav: move login to its own hamburger in upper-left (panel slides from left) -
b6ee33c2026-06-21 deploy: scaffold .deploy.conf for banner deploy -
58a57ae2026-06-21 banner: wire universal promo-banner require above express.static (officer-approved; deploy gated) -
140fac52026-06-11 chinoiseriewallpaper: rails fire again — wire sliders + grid filter to aesthetic-OR-tags matcher (prod-safe try-require + inline fallback) -
c4fe98a2026-06-09 step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs -
d041e412026-06-09 snapshot before step2 codemod -
a70ffc22026-06-03 seo: add og:image + twitter card + canonical (social-share preview) — zero visual -
979a9402026-06-03 Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle -
d31eaa52026-06-01 admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only) -
f1faecc2026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
11f43cc2026-06-01 index.html: interpolate un-rendered DwHeaderConfig template ({{...{name}...}} -> valid JS) so a deploy won't ship a syntax error that blanks the page -
831b2d72026-06-01 dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names -
293d2152026-06-01 header A-rebuild: dw-header.js wins fleet — patched to hide original header + corner-nav + v1, fix centered site-name (title fallback), add theme toggle; v1 removed from index -
6c0ac9e2026-06-01 header: complete dw-header rebuild — remove old DW-HAMBURGER-NAV v1, keep dw-header.js (UL burgers + centered name); finishes pilot a8a49f7, single hamburger -
5146ca02026-06-01 Revert "header: complete dw-header rebuild — remove old DW-HAMBURGER-NAV v1, keep dw-header.js (UL burgers + centered name); finishes pilot a8a49f7, single hamburger" -
3b47bf82026-06-01 header: complete dw-header rebuild — remove old DW-HAMBURGER-NAV v1, keep dw-header.js (UL burgers + centered name); finishes pilot a8a49f7, single hamburger -
58791ad2026-06-01 header: remove dw-header.js — fixes overlapping hamburgers (DW-HAMBURGER-NAV v1 sole nav); fleet regression sweep -
08b665e2026-06-01 Unique clean image hero (fleet hero dedup 2026-06-01) -
301f03a2026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
015eaee2026-06-01 Revert "Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)" -
a8a49f72026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch -
a3ba7a82026-06-01 Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep) -
d1bbc002026-06-01 /api/facets honors q + aesthetic filters (counts reflect filtered result set, not raw catalog) -
586ac8c2026-05-30 scrub residual 3rd-party vendor names from products.json source (per sku-redact denylist; sku/handle + DW house brands preserved) -
95d58842026-05-29 feat(fleet): theme1/theme2 query-param-gated toggle on catalog page -
946948e2026-05-28 scrub vendor name leaks from products.json source (901 products: title/vendor/tags cleaned per sku-redact denylist) -
d89307d2026-05-26 sku-redact: wire shared vendor-id display scrubber -
bd45b5d2026-05-26 redact vendor names from customer-facing /api (close fleet leak) -
3e1bbcd2026-05-26 homepage rails: motif rail sections + pills strip wired to /api/sliders -
b78efdd2026-05-25 add 404-guard middleware -
e041ec62026-05-25 add noreferrer to every target=_blank link -
f031da92026-05-25 remove DW vendor leaks from customer UI -
78c4d982026-05-25 pull-from-shopify: use shared classifier with rails primary, local aestheticOf as fallback -
49016052026-05-25 retag aesthetic from PG: 1193 rows updated -
f8ab9132026-05-21 make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock) -
3fcbcd62026-05-20 add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh) -
ba955982026-05-19 add ns-contact modal (CSS + HTML + JS) — info@chinoiseriewallpaper.com -
254dff12026-05-19 add corner-nav.js — universal top-right nav per _shared/corner-nav.js -
965f59f2026-05-19 Phase 2: mobile-ready + tap-to-reveal -
2fb17f42026-05-19 stage2: wire microsite catalog + admin CRUD + /api/sliders -
8b1e9bd2026-05-18 block .bak/.pre-* snapshot files from being served as static assets -
31c7dd22026-05-18 untrack stale snapshot files; gitignore .bak/.pre-* patterns -
ff1ccaa2026-05-13 embed Big Red customer chat (lower-left, retail mode, vendor-redacted) -
2c1d4d82026-05-11 fleet-grid refine: all-pass tick 6 (chinoiseriewallpaper) -
b10554f2026-05-11 sort-skill canonical + strict chinoiserie filter — drop textures + non-Asian -
107f6702026-05-10 hamburger nav: apply canonical pattern from sister-site fleet -
11735ae2026-05-10 snapshot before hamburger nav rollout -
50b77f92026-05-10 sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options -
65cb7722026-05-07 add finish_dns.sh + deploy artifacts: nginx vhost, pm2 live at :9853 -
0b9b2582026-05-07 initial scaffold: 1193-product chinoiserie microsite
Authors
- Steve51
Agents used
Skills used
- /vendor3
- /sliders3
- /tags2
- /handle2
- /facets2
- /products2
- /wheel2
- /site2
- /sample1
- /theme21
- /commercial1
- /architectural1
- /white1
- /imperial1
- /scenic1
- /admin-catalog1
- /corner-nav1
- /sku1
- /title1
- /color1
- /style1
- /light-dark1
- /price-asc1
- /price-desc1
- /price1
- /dark-light1
- /hue1
- /luminance1
- /skills1
- /sort-skill1
Creative ideas + design notes
95d5884 · 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.
3e1bbcd · 2026-05-26 · homepage rails: motif rail sections + pills strip wired to /api/sliders
Adds 4 motif rail sections (green/commercial/architectural/white, 8 cards each with View all →) above the collection grid + a horizontal pill strip wired to the existing aestheticFilter <select>. Fetches /api/sliders + /api/facets at load. Replaces stale Motif dropdown options (chinoiserie/imperial/scenic/...) with the actual aesthetics present in data/products.json (green 93, commercial 100, white 7, architectural 25, botanical 2, floral, all). Same pattern as hollywood-wallcoverings 3a7da85 + blockprintedwallpaper rails.
b78efdd · 2026-05-25 · add 404-guard middleware
Final catch-all returns JSON for /api/* misses and a lightweight branded HTML page for everything else. Sits after the catalog mount so it only fires when nothing upstream matched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
e041ec6 · 2026-05-25 · add noreferrer to every target=_blank link
Tabnabbing + referrer-leak hardening across both static HTML and JS-built product cards. 8 links upgraded from rel="noopener" to rel="noopener noreferrer". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
f031da9 · 2026-05-25 · remove DW vendor leaks from customer UI
- drop .card-vendor render in site.js (was exposing p.vendor on every card) - drop "By Vendor" + "vendor-desc" sort options - drop p.vendor from search filter (title + tags only) - drop unused .card-vendor CSS rule - drop "vendor" from search-input placeholder Standing rule (MEMORY.md 2026-05-20): DW vendor names never in customer-facing UI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4901605 · 2026-05-25 · retag aesthetic from PG: 1193 rows updated
before: avian=13, botanica=34, chinoiserie=808, garden=20, handpainted=2, imperial=180, scenic=136 after: all=6, architectural=93, botanical=44, commercial=444, floral=10, green=492, white=104 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>
b10554f · 2026-05-11 · sort-skill canonical + strict chinoiserie filter — drop textures + non-Asian
server.js — 10-mode sort dispatcher (newest/sku/title/color/style/light-dark/ dark-light/wheel/price-asc/price-desc/vendor). Previously only title/price/ vendor worked; light-dark/dark-light/wheel silently fell through (the "Sort BROKEN" Steve hit). Adds COLOR_HEX + dominantHex/colorDots/hue/luminance helpers per ~/.claude/skills/sort-skill. Strict chinoiserie filter: REJECT_TEXTURE on title (paintable, supaglypta, grasscloth, sisal, cork, raffia, herringbone, sandstone, woven/weave, paperweave, foil, linen, leather, suede, anaglypta) + REJECT_NONASIAN on title (BH 90210, Erotic, Highland, Versace, Agra, etc) + STRICT_CHINOIS must match in title or tags. 1,193 raw → 230 chinois patterns served. decorateColors() on every /api/products response. public/index.html — sort select extended with Color/Style/SKU/Title A-Z. public/js/site.js — sort+aesthetic+cols persist via localStorage + render up to 4 color dots per card. public/css/site.css — .dots/.dot with dark-theme variant.
File tree
- .deploy.conf
- .gitignore
- data/products.json
- finish_dns.sh
- package-lock.json
- package.json
- public/corner-nav.js
- public/css/site.css
- public/dw-header.js
- public/dw-theme-nav.js
- public/favicon.svg
- public/hero-bg.jpg
- public/hero-pool.json
- public/index.html
- public/js/site.js
- public/sku-redact.js
- scripts/pull-from-shopify.js
- server.js
- site.config.json