Skip to content

fix(landing): hero clip bleed, legible 3D stat text, warm dark surfaces, themed body bg#121

Merged
BSalaeddin merged 1 commit into
devfrom
feat/hero-dark-polish
Jul 25, 2026
Merged

fix(landing): hero clip bleed, legible 3D stat text, warm dark surfaces, themed body bg#121
BSalaeddin merged 1 commit into
devfrom
feat/hero-dark-polish

Conversation

@BSalaeddin

Copy link
Copy Markdown
Collaborator

Feedback round 4 — four fixes, verified locally in both themes at parallax extremes.

1. Canvas clipping on interaction

The hero canvas raster was exactly the visual box, so tilting coupons/droplets got guillotined at the edge. The canvas now bleeds 48px/40px past its layout box (-inset-x-[48px] -inset-y-[40px]; layout box unchanged → zero CLS), the scene's fit math computes against the layout-box slice of the frustum (composition size unchanged, bleed is pure clip headroom), and the droplets moved inside the fitted group with a tightened y-spread so nothing ever touches the raster edge (derivations in comments).

2. Stat text barely visible

Number 0.3→0.34, label 0.088→0.11 at full opacity with tighter letterSpacing (longest label fit-proof in a comment), stronger ink-shadow outlines.

3. Off-brand blue in dark mode (coupons + supported stores)

Tailwind's cool gray-800/900 (blue-hued) swapped for a new warm token darkSurface: #1E1916 across coupons + supported-site components, incl. the react-select inline hexes; blue-tinted dark:border-gray-*dark:border-white/10; semantic green/amber/red tints untouched; light mode untouched.

4. White padding strip

Root cause: the dark/light class lives on an inner wrapper, <body> had no background — default white peeked at the bottom sliver/overscroll/scrollbar gutters. Fixed in globals.css with html:has(.dark)-based rules so html+body always match the real page bg in both themes.

Out-of-scope note: sources/page.tsx and PasswordChecker.tsx also carry cool dark:border-gray-* — left for a later sweep (outside the reported pages).

Gates green: tsc, prettier, oxlint, knip, three-lazy-boundary + repo-integrity, full unit suite (406). Dev only — no prod.

🤖 Generated with Claude Code

@BSalaeddin
BSalaeddin merged commit e7a41a0 into dev Jul 25, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant