refactor(design-system): redesign-v2 — bolder hover + mouse-tracking spotlight + active gradient #110
No reviewers
Labels
No labels
agent-context-drift
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: rstillwell/deckhearth#110
Loading…
Reference in a new issue
No description provided.
Delete branch "redesign-v2-spotlight-hover"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Three refinements from operator feedback after PR #109:
Active state — subtle gradient. Kept the 1px ember border + ember text. Added a 135deg linear-gradient at 14% → 6% alpha (18% → 8% dark) so the active item has visible warmth without going back to the heavy pill we walked away from.
Hover base tint bolder. `rgba(0.08)` → `rgba(0.18)` light, `rgba(0.10)` → `rgba(0.22)` dark. Per your feedback: "hard to see which one you're hovering."
Mouse-tracking radial spotlight. New `::before` pseudo-element on `.nav-item` / `.nav-item-bottom` / `.nav-item-hover`. Radial-gradient positioned via `--mouse-x` / `--mouse-y` CSS custom properties, written by a single delegated `mousemove` listener at the document level in Layout.js. Spotlight fades in/out on hover/focus via opacity transition. `pointer-events: none` so it never blocks clicks.
Why a delegated listener (not React onMouseMove)
NavigationContent has 10+ nav-item render paths. Attaching React handlers everywhere is brittle and prop-drilly. One `document.addEventListener('mousemove')` + `event.target.closest('.nav-item, ...')` handles all surfaces uniformly; `closest()` returns `null` for non-nav events so the listener cost is negligible.
A11y
Tests
Made with Cursor
The latest updates on your projects. Learn more about Vercel for GitHub.
Pipeline Health
Build + CI gates
Build runs on Vercel; this CI runs lint and schema-map drift only (no duplicate build).
Role reports
See individual comments above for details. This rollup updates automatically.
Visual Diff
Screenshots and diffs uploaded as artifacts: view run
If intentional changes: update snapshots locally with
npx playwright test --project=visual --update-snapshotsand commit.