feat(redesign): token foundation close-out + design handoff (#854) #884
Reference in New Issue
Block a user
Delete Branch "feat/issue-854-token-foundation"
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?
Closes #854. Foundation for the Mappe Visual Redesign (milestone #15) — this must merge before the shared-primitive issues (#855–#862) fan out, because they consume these tokens and the design handoff.
What's in here
1. Design handoff as in-repo ground truth (
design_handoff_familienarchiv_redesign/)Every redesign issue cites this dir by repo-relative path; it now lives in-repo so the per-issue worktrees share one source of truth. Committed already aligned to the codebase + #854 resolutions (see below).
2. #854 token close-out (
frontend/)--radius-sm/md/fulland--shadow-sm/mdas first-class:roottokens inlayout.css. Radius is theme-invariant;--shadow-sm/mdget distinct, stronger dark values in both dark blocks (@media+[data-theme='dark'], kept in sync) since the light navy-on-sand shadow is invisible on dark surfaces.$lib/shared/avatarPalette.ts— the canonical 10-color person/avatar palette as one exported constant (single source of truth for<Avatar>, #855). Guarded byavatarPalette.spec.ts(length 10, lowercase hex, distinct, WCAG AA).Decisions worth a reviewer's eye
#5a8a6a→#527e61(3.98→4.65), amber#c17a00→#a46800(3.47→4.61), sand#9a8040→#897239(3.79→4.64). The bright originals remain the decorative tag-dot colors inlayout.css(dots carry no text). Avatar palette ≠ tag palette by design.personFormat.ts,ReaderPersonChips, and tag dots are untouched — deferred to #855 per the issue.--c-tag-sand(not-sand-tag) and thethemelocalStorage key were already correct inlayout.css/app.html; #854's "naming/theme-key" scope reduced to correcting the handoff docs (DESIGN_RULES §1/§4/§5, EPIC, _AUTHORING_KIT), done here.Verification
avatarPalette.spec.ts— 4/4 green.prettier --check+eslint— clean (full-tree pre-commit hook passed).🤖 Generated with Claude Code