Fabricwallpaper
repo: ~/Projects/fabricwallpaper · 74 commits · 0 in last 24h, 0 in last 7d ·
Search the build
74 commits indexed
d5f18fd
2026-07-06
Square product-card images (aspect-ratio 1/1)
fbb7d15
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
308a1ef
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.
515dd22
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)
04e33a2
2026-06-11
Recompute aesthetic from tags via classifyAesthetic (was degenerate 'all' snapshot)
5e1c0a5
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
f7e2966
2026-06-09
snapshot before step2 codemod
2cd400f
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
bf5c31e
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
fc00e76
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
28c1905
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
3b138f7
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
4d66f40
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
49e092e
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
051e4f6
2026-06-01
hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
f751eb8
2026-06-01
header name → domain name 'Fabric Wallpaper' (remove odd brand name)
d1896b9
2026-06-01
hero: huge 2520px clean hero from dw_unified (graphic-designer vetted; no header/text/watermark)
bad5576
2026-06-01
hero: graphic-designer-vetted clean replacement (no baked text/watermark/vendor logo)
cec4902
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
a377163
2026-06-01
disable hero-4grid overlay so the unique high-res room/pattern hero shows full-bleed
1fcc7a9
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
3bc4171
2026-06-01
homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
8057033
2026-06-01
Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
4cd1f50
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
2dcbe88
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch
9495c97
2026-06-01
hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
d32589e
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
b3cc21f
2026-06-01
Harden corner-nav window.open with noopener,noreferrer
82db56d
2026-05-30
fix: remove public bak file leak and extend bak-guard regex to cover .bak-TIMESTAMP pattern
6a9eea9
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
e13a003
2026-05-28
scrub vendor name leaks from products.json source (93 products: title/vendor/tags cleaned per sku-redact denylist)
7fa99b7
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
f853260
2026-05-26
sku-redact: wire shared vendor-id display scrubber
0af6eef
2026-05-26
rails: tag-aware facet filter (productInRail) so rail drill-down + pills return products (fix regression)
2f5dca2
2026-05-26
chore: sync package-lock with declared dotenv dep
bf1ece0
2026-05-26
rails: tag-aware via shared rail-match helper + editorial LABELS (fix degenerate single-rail)
ca73a39
2026-05-26
rails: editorial labels for firing aesthetic buckets
3191a91
2026-05-26
redact vendor names from customer-facing /api (close fleet leak)
2002896
2026-05-25
facets: filter by q+aesthetic; drop vendor exposure from public APIs
de7e50d
2026-05-25
retag aesthetic from PG: 350 rows updated
efa2475
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
37a2dda
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
b900276
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
0098f0a
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
9b0eb08
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
50c32f1
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view + repair dead rails
be90be6
2026-05-19
fix: add noreferrer to external target=_blank Facebook link
6db82c8
2026-05-19
feat: clean-URL routes for static pages; /about resolves to history page
5a9dfc6
2026-05-19
chore: untrack snapshot .bak/.pre- files, broaden .gitignore
e621f10
2026-05-19
fix: wire sort param through grid fetch, correct /api/facets total, block .bak/.pre- static paths
ac4a8cb
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
a957be2
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
83b81b7
2026-05-14
favicon: Mag-7-inspired SVG glyph
74c0d43
2026-05-13
fix env wiring — add __dirname-anchored dotenv + dotenv dep so ADMIN_PASS / GEORGE_AUTH actually load
bc97a91
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
85c8a78
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
2b90d08
2026-05-13
corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
40c961f
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
e6722a4
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
cdc10b4
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
a0f2251
2026-05-13
remove stray contact modal markup that was rendering inline on the page
7da16e7
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.
c027677
2026-05-13
brand: replace remaining fake brand globally → 'fabricwallpaper' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
139a92a
2026-05-11
fleet-grid refine: chip_uniform_aspect (fabricwallpaper)
bc602f6
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
c01cbc4
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
1f34183
2026-05-07
graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
3238ff0
2026-05-07
graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
3eab475
2026-05-07
graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
70ccd9f
2026-05-07
graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
d163164
2026-05-07
graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
6b2cb2b
2026-05-07
graphic-loop pass 8: theme-aware font Cormorant Garamond (panel-approved comprehensive 16-bucket assignment)
6593686
2026-05-06
graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
289ccd9
2026-05-06
initial scaffold (gitify-all 2026-05-06)
Skills used
/vendor 3 /sample 2 /tags 2 /body 2 /watermark 2 /list 2 /about 2 /facets 2 /products 1 /handle 1 /a11y 1 /text 1 /ideas 1 /json 1 /pattern 1 /index 1 /theme2 1 /detail 1 /admin-catalog 1 /history 1 /care 1 /sourcing 1 /trade 1 /vocabulary 1 /account 1 /search 1 /menu 1 /meta 1 /wordmark 1 /footer 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
82db56d · 2026-05-30 · fix: remove public bak file leak and extend bak-guard regex to cover .bak-TIMESTAMP pattern
- Deleted public/index.html.bak-20260526152130 (was served as HTTP 200)
- Middleware regex \.bak(\.|$) missed .bak-TIMESTAMP files; extended to \.bak([.\-]|$)
- Added *.bak-* to .gitignore (was missing alongside *.bak and *.bak.*)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6a9eea9 · 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.
de7e50d · 2026-05-25 · retag aesthetic from PG: 350 rows updated
before: all=350
after: commercial=338, grasscloth=3, vinyl=8, woven=1
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>
6db82c8 · 2026-05-19 · feat: clean-URL routes for static pages; /about resolves to history page
Adds /history /care /sourcing /trade /vocabulary extension-less routes
and an /about alias (no dedicated About page exists) so the header +
footer About links no longer 404.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
e621f10 · 2026-05-19 · fix: wire sort param through grid fetch, correct /api/facets total, block .bak/.pre- static paths
- loadGridPage now sends state.sort so the sort <select> actually re-orders the API result
- /api/facets total counts PRODUCTS_NICHE (the filtered list served) not the raw PRODUCTS array
- new middleware 404s any .bak/.pre- path before express.static
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
22 files tracked. Click any to browse the source at HEAD.
rendered in 1ms