Stringwallpaper
repo: ~/Projects/stringwallpaper · 70 commits · 0 in last 24h, 3 in last 7d · █▄
Search the build
70 commits indexed
454e98a
2026-09-23
front-page-steward: ux-primitives bundle (grid) TK-12031
8a17b4b
2026-09-22
revert ux-primitives auto-apply — coordinator gates fan-out (TK-12031)
50ac409
2026-09-22
front-page-steward: ux-primitives bundle (silent) TK-12031
3909409
2026-08-12
viewer standard: add per-field on/off menu (Fields ▾) to product grid
9cfc3c9
2026-08-04
fix: take infinite-scroll .loading indicator out of flow (kills ~0.3-0.4 CLS scroll-jump)
0daa209
2026-08-04
Wire DW Meta Pixel 1431180262113856 + DW-network ad slot [ads/tracking rollout]
0cf19ae
2026-07-31
stringwallpaper: adopt href-to-deeper-data storefront primitives (TK-10093)
f4a115f
2026-07-30
search: scroll results into view on mobile (grid was below the fold → looked like nothing happened)
0466573
2026-07-29
corner-nav: block javascript:/data: URIs in search preview (URL-scheme allowlist)
8355ff4
2026-07-29
search: /api matcher now covers title+tags+description+type+vendor+sku
4992c78
2026-07-29
corner-nav: live as-you-type search with thumbnail previews (title+tags+description)
0d7537b
2026-07-06
Square product-card images (aspect-ratio 1/1)
3c00843
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
adf0438
2026-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.
005e1a1
2026-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)
88600ef
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
dd2eafb
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
6cae68c
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
130637c
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
dadeb00
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
4a32539
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
dde2699
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
486b34e
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
da41253
2026-06-01
header name → domain name 'String Wallpaper' (remove odd brand name)
a06b53e
2026-06-01
hero: huge 2520px clean hero from dw_unified (graphic-designer vetted; no header/text/watermark)
f3e3f40
2026-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
00a9ae4
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
0c12f91
2026-06-01
gradient hero (unique hue 186deg) — no niche photography available
bd3d34d
2026-06-01
gradient hero (unique hue 186deg) — no niche photography available
5d33101
2026-06-01
fleet rebuild (gap-fill): dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
bb79ed7
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
281df2e
2026-06-01
fleet rebuild (header-only): dw-header (hamburgers UL + centered name) + accent — local branch
e82142f
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
53a9432
2026-06-01
clean-url: 301 legacy /foo.html to /foo before static, index.html exempt
f3a5999
2026-05-30
fix: remove leaked bak file from public/, expand .gitignore + guard regex to cover .bak-* date-stamped variants
02710b5
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
147844d
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
f9f39a6
2026-05-26
stringwallpaper: commit config-rails fix — real aesthetic buckets (data-starved, 2 products, rails inert until catalog grows)
2e32188
2026-05-26
rails: wire /api/sliders into horizontal scroll-snap rail sections [no-products]
4ccdbd2
2026-05-25
/api/facets honors q/aesthetic/vendor filters so chip counts + total reflect the filtered list, not the whole catalog
a10360a
2026-05-25
wire api-vendor-redact middleware as first app.use — defends /api/facets vendors object + /api/products ?vendor= against vendor-name leaks per fleet standing rule
62f46a0
2026-05-25
pull-from-shopify: use shared classifier with rails primary, local aestheticOf as fallback
4536d87
2026-05-25
retag aesthetic from PG: 2 rows updated
a7ea5b7
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
04cb8fd
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
ddbe7bb
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
4842930
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
e62570f
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
793cc0d
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view
788c080
2026-05-19
Add clean-URL routes for editorial nav pages; redirect /about to /history
119aa24
2026-05-19
Untrack snapshot files; broaden .gitignore and add static-root .bak/.pre- 404 guard
30b0b46
2026-05-19
Wire sort select to API: hydrate state.sort from localStorage before first grid load and pass sort param
75566af
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
e2bb470
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
32b3d2d
2026-05-14
favicon: Mag-7-inspired SVG glyph
c0b7b57
2026-05-13
fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong
f6ca72f
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
43c49a0
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
90d2b67
2026-05-13
corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
46a2372
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
545e72b
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
88ae9ff
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
d34aedb
2026-05-13
remove stray contact modal markup that was rendering inline on the page
7a83947
2026-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.
824463a
2026-05-13
brand: replace remaining fake brand globally → 'stringwallpaper' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
cc7427f
2026-05-11
fleet-grid refine: all-pass tick 6 (stringwallpaper)
5dd5c0f
2026-05-11
snapshot before fleet-grid refine tick 6
3ba14bf
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
117fd0a
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
06884b7
2026-05-06
initial scaffold (gitify-all 2026-05-06)
Authors
Steve 66 front-page-steward 3 steve 1
Skills used
/products 3 /history 3 /sample 2 /vendor 2 /body 2 /foo 2 /list 2 /facets 2 /about 2 /off 1 /tracking 1 /data 1 /tags 1 /handle 1 /a11y 1 /text 1 /watermark 1 /ideas 1 /json 1 /index 1 /theme2 1 /detail 1 /sliders 1 /aesthetic 1 /admin-catalog 1 /care 1 /sourcing 1 /trade 1 /vocabulary 1 /account 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
f3a5999 · 2026-05-30 · fix: remove leaked bak file from public/, expand .gitignore + guard regex to cover .bak-* date-stamped variants
- rm public/index.html.bak-20260526152130 (was served 200 publicly)
- add *.bak-* to .gitignore so date-stamped backups are never tracked
- fix guard regex from \.(bak)$ to \.bak([.-]|$) so .bak-YYYYMMDD paths also return 404
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
02710b5 · 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.
4536d87 · 2026-05-25 · retag aesthetic from PG: 2 rows updated
before: string=2
after: white=2
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>
788c080 · 2026-05-19 · Add clean-URL routes for editorial nav pages; redirect /about to /history
The nav links /care /history /sourcing /trade /vocabulary pointed at
extension-less paths that 404'd (express.static only serves *.html). Added
explicit routes mapping each to its public/<name>.html file. /about had no
target page anywhere, so it 301-redirects to /history (the brand-story page).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
119aa24 · 2026-05-19 · Untrack snapshot files; broaden .gitignore and add static-root .bak/.pre- 404 guard
Removed 16 committed *.bak / *.pre-* snapshot files from the index (kept
on disk). .gitignore now also covers *.bak.* and *.pre-*. Added an Express
middleware before express.static that 404s any .bak/.pre- request path so
stale snapshots can never serve from public/.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30b0b46 · 2026-05-19 · Wire sort select to API: hydrate state.sort from localStorage before first grid load and pass sort param
The sort select set state.sort but loadGridPage never appended it to the
/api/products query, so sorting silently did nothing. Also the saved value
was applied after the initial load. Now state.sort is hydrated from
localStorage before loadFacets/loadGridPage run, and is sent as the sort param.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
23 files tracked. Click any to browse the source at HEAD.
rendered in 2ms