Files

4.2 KiB

phase, plan, subsystem, tags, dependency_graph, tech_stack, key_files, decisions, metrics
phase plan subsystem tags dependency_graph tech_stack key_files decisions metrics
05-design-system-token-rework 01 frontend/design-system
css-tokens
design-system
charts
oklch
recharts
requires provides affects
--radius: 0 token cascade to all shadcn components
Raised fill chroma (0.22+) for category colors
Eliminated --color-chart-* duplication
Sharp bar chart rendering via radius={0}
Square legend dots in donut chart
All shadcn/ui components (border-radius cascade)
SpendBarChart, IncomeBarChart, ExpenseDonutChart
Recharts SVG rectangles (CSS override)
Sonner toasts (CSS override)
added patterns
OKLCH color system with raised chroma (0.22+) for vivid pastels
CSS --radius: 0 token for sharp-cornered design cascade
Third-party radius overrides via selector targeting
created modified
src/index.css
src/components/dashboard/charts/SpendBarChart.tsx
src/components/dashboard/charts/IncomeBarChart.tsx
src/components/dashboard/charts/ExpenseDonutChart.tsx
Use rx/ry SVG attributes in .recharts-rectangle rule rather than border-radius (SVG does not support border-radius)
Delete --color-chart-* vars entirely — fill vars cover all use cases, no consumers of chart-* remain
duration completed tasks_completed tasks_total files_modified
~8 minutes 2026-04-20 2 2 4

Phase 05 Plan 01: Design Token Foundation Summary

One-liner: Established sharp-cornered OKLCH pastel design foundation with --radius: 0 cascade, raised fill chroma to 0.22+, deleted redundant chart color vars, and set chart bars to radius={0} with square legend dots.

Tasks Completed

Task Name Commit Key Changes
1 Edit design tokens and add CSS overrides in index.css 99b5b5f --radius: 0, chroma 0.22+, deleted chart vars, warmed bg, Recharts/Sonner overrides
2 Update chart Bar radius props and remove rounded-full 4c74dec SpendBarChart radius={0}x2, IncomeBarChart radius={0}x2, ExpenseDonutChart legend dot square

What Was Built

index.css Changes

  • --color-background chroma raised from 0.005 to 0.01 (warmer background)
  • --color-chart-1 through --color-chart-5 deleted (6 lines removed — no remaining consumers)
  • All 6 --color-*-fill variables raised to chroma 0.22+ for vibrant pastels:
    • income: 0.19 → 0.22, bill: 0.19 → 0.22, variable-expense: 0.18 → 0.22
    • debt: 0.20 → 0.23, saving: 0.18 → 0.22, investment: 0.18 → 0.22
  • --radius changed from 0.625rem to 0 — cascades sharp corners to all shadcn components
  • .recharts-rectangle { rx: 0; ry: 0; } override added (SVG attribute approach)
  • [data-sonner-toast] { border-radius: 0 !important; } override added

Chart Component Changes

  • SpendBarChart.tsx: Both <Bar> elements changed from radius={4} to radius={0}
  • IncomeBarChart.tsx: Both <Bar> elements changed from radius={[4, 4, 0, 0]} to radius={0}
  • ExpenseDonutChart.tsx: Legend color dot span: removed rounded-full from className

Verification

All acceptance criteria confirmed by grep and build:

  • --radius: 0 present in index.css
  • --color-chart-1 through --color-chart-5 absent from src/
  • radius={0} present (2 matches each) in SpendBarChart and IncomeBarChart
  • rounded-full absent from ExpenseDonutChart
  • .recharts-rectangle and [data-sonner-toast] present in index.css
  • bun run build exits 0 (TypeScript + Vite both pass)

Deviations from Plan

None — plan executed exactly as written.

Known Stubs

None — all token values are real OKLCH colors wired to actual chart and UI components.

Threat Flags

None — pure CSS/visual changes with no trust boundary impact.

Self-Check: PASSED

  • src/index.css exists and contains all required tokens
  • src/components/dashboard/charts/SpendBarChart.tsx contains radius={0}
  • src/components/dashboard/charts/IncomeBarChart.tsx contains radius={0}
  • src/components/dashboard/charts/ExpenseDonutChart.tsx has no rounded-full
  • Commit 99b5b5f exists (Task 1)
  • Commit 4c74dec exists (Task 2)
  • Build passes cleanly