1940swallpaper
repo: ~/Projects/1940swallpaper · 69 commits · 0 in last 24h, 0 in last 7d ·
Search the build
69 commits indexed
aac0ccc
2026-07-06
Square product-card images (aspect-ratio 1/1)
689873f
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
5bcbe91
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.
c884c56
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)
df571b8
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
dcda5ca
2026-06-09
snapshot before step2 codemod
b4f8028
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
0136cbc
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
316b1c3
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
4478825
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
9176c82
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
593d2bd
2026-06-01
theme: period-appropriate decade color palette (light+dark :root + accent)
ea311f9
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
17cfccc
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
efdb3d6
2026-06-01
hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
0f6640f
2026-06-01
header name → domain name '1940s Wallpaper' (remove odd brand name)
d5a9fa1
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
3223729
2026-06-01
disable hero-4grid overlay so the unique high-res room/pattern hero shows full-bleed
66cae85
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
d075d2b
2026-06-01
homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
40124fb
2026-06-01
Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
981e7e3
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
df04123
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch
b5d2101
2026-06-01
hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
5ffef2e
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
783392c
2026-06-01
/api/facets filtered-set counts + legacy .html->clean 301 redirect
61f2bbd
2026-06-01
noopener,noreferrer on sister-site window.open popup
f886ab1
2026-05-30
fix: delete leaked public/*.bak-* file and extend guard regex to block .bak-TIMESTAMP paths
3cae8fe
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
9d6f769
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
7c9d405
2026-05-26
sku-redact: wire shared vendor-id display scrubber
b31c0d7
2026-05-26
rails: editorial labels for firing aesthetic buckets
e3be2d1
2026-05-26
wire api-vendor-redact middleware (close vendors-facet leak)
26a8d65
2026-05-25
retag aesthetic from PG: 240 rows updated
8350f08
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
3bbc324
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
062e4a9
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
c7dc6b9
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
81d7373
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
9735140
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view
a7db88b
2026-05-19
Add clean-URL routes, remove dead /about link, fix rel attr
aaffdb5
2026-05-19
Fix facets total, untrack snapshot files, add .bak 404-guard
be95b4a
2026-05-19
Wire sort param into grid fetch and hydrate before first load
51ee858
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
37bb7bf
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
431a07d
2026-05-14
favicon: Mag-7-inspired SVG glyph
55ceff5
2026-05-13
fix env wiring — add __dirname-anchored dotenv + dotenv dep so ADMIN_PASS / GEORGE_AUTH actually load
105879a
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
1c324ba
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
2817fc0
2026-05-13
corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
f5faaee
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
ac32133
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
53be09d
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
31608ba
2026-05-13
remove stray contact modal markup that was rendering inline on the page
33324e3
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.
0776ddf
2026-05-13
brand: replace remaining fake brand globally → '1940swallpaper' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
1af3378
2026-05-11
fleet-grid refine: chip_uniform_aspect (1940swallpaper)
fb3043a
2026-05-11
snapshot before fleet-grid refine tick 3
6192600
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
10f8fca
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
c0eb022
2026-05-07
graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
220307a
2026-05-07
graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
ee2f2d9
2026-05-07
graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
d40f7dc
2026-05-07
graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
23b1d43
2026-05-07
graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
23562da
2026-05-07
graphic-loop pass 8: theme-aware font Playfair Display (panel-approved comprehensive 16-bucket assignment)
ad0d924
2026-05-06
graphic-loop pass 5: serif hero typography (Cormorant Garamond) + nav legibility (qwen3 unanimous)
9468f2a
2026-05-06
graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
1b9fd2b
2026-05-06
initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Skills used
/care 3 /products 2 /sample 2 /body 2 /facets 2 /list 2 /about 2 /history 2 /vendor 1 /tags 1 /handle 1 /a11y 1 /ideas 1 /json 1 /pattern 1 /index 1 /theme2 1 /detail 1 /admin-catalog 1 /sourcing 1 /trade 1 /vocabulary 1 /account 1 /search 1 /menu 1 /meta 1 /wordmark 1 /footer 1 /dark-light 1 /wheel 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
783392c · 2026-06-01 · /api/facets filtered-set counts + legacy .html->clean 301 redirect
facets: counts honor q + cross-facet selections via shared filterProducts()
clean-URL: 301 /care.html etc -> /care (clean route already served)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f886ab1 · 2026-05-30 · fix: delete leaked public/*.bak-* file and extend guard regex to block .bak-TIMESTAMP paths
- Removed public/index.html.bak-20260526152130 which was served as HTTP 200 via express.static
- Guard regex \.(bak|orig)(\.|$) only matched .bak at end or before a dot; .bak-TIMESTAMP slipped through
- Fixed to \.(bak|orig)([\.\-]|$) to also block the dash-terminated variant
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3cae8fe · 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.
26a8d65 · 2026-05-25 · retag aesthetic from PG: 240 rows updated
before: all=307
after: all=67, floral=189, novelty=41, tropical=10
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>
a7db88b · 2026-05-19 · Add clean-URL routes, remove dead /about link, fix rel attr
- Added clean-URL Express routes for /care /history /sourcing
/trade /vocabulary so extension-less nav links resolve.
- Removed the dead /about nav link (no about.html exists) from
all 5 content pages; repointed the index nav + footer About
links to /history (a real page).
- Added noreferrer to the Facebook target=_blank link that had
only noopener.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aaffdb5 · 2026-05-19 · Fix facets total, untrack snapshot files, add .bak 404-guard
- /api/facets total now counts PRODUCTS_NICHE (the filtered list
actually served) instead of the raw unfiltered PRODUCTS array.
- Untracked 27 committed *.bak / *.pre-* snapshot files.
- Broadened .gitignore to cover *.bak / *.pre-* / *.orig / *~.
- Added Express middleware that 404s any .bak/.pre-/~ path before
express.static so snapshot artifacts never serve from public/.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
be95b4a · 2026-05-19 · Wire sort param into grid fetch and hydrate before first load
state.sort was never sent to /api/products and the sort-select wire-up
ran after the initial loadGridPage(). Added sort to URLSearchParams,
added sort to the state object, and converted the sort IIFE into
initSort() called before the first grid load.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
21 files tracked. Click any to browse the source at HEAD.
rendered in 1ms