Commit Graph

7 Commits

Author SHA1 Message Date
689c88fc3e feat(01-02): implement InlineEditCell shared component
- Shared TableCell with display/edit mode toggle
- Calls onSave(number) on blur or Enter key
- Skips save when value unchanged or NaN
- Accepts className for amount coloring
2026-03-11 20:56:19 +01:00
bb36aeb272 test(01-02): add failing tests for InlineEditCell
- renders formatted currency in display mode
- enters edit mode on click
- calls onSave with parsed number on blur/Enter
- does not call onSave when value unchanged
2026-03-11 20:56:04 +01:00
6859b30347 feat(01-01): implement palette.ts as single source of truth for category colors
- Export CategoryType union type with 7 category strings
- Export CategoryShades interface with light/medium/base fields
- Export palette Record with oklch values matching --chart-* CSS tokens
- Export headerGradient() returning CSSProperties with linear-gradient
- Export overviewHeaderGradient() with multi-stop sky/lavender/green gradient
- Export amountColorClass() for text-success/text-warning/text-destructive
- All 20 unit tests pass
2026-03-11 20:52:41 +01:00
d5fc10de46 test(01-01): add failing tests for palette module
- Tests cover all 7 CategoryType values with 3 shades each
- Tests for headerGradient returning valid CSSProperties with linear-gradient
- Tests for overviewHeaderGradient multi-stop gradient
- Tests for amountColorClass: income, available, and expense paths
2026-03-11 20:52:06 +01:00
3f97d07f4e feat(01-01): replace CSS tokens with pastel oklch values
- Update all :root tokens with lavender-tinted pastel oklch values
- Map --chart-1 through --chart-5 to category base colors (bill, variable_expense, debt, saving, investment)
- Add --success and --warning semantic tokens with foreground pairs
- Register --color-success and --color-warning in @theme inline for Tailwind utility access
- Preserve --card and --popover as pure white (intentional locked decision)
- Leave .dark block unchanged (out of scope)
2026-03-11 20:51:26 +01:00
cbf355273a chore(01-01): install vitest test infrastructure
- Add vitest, @testing-library/react, @testing-library/jest-dom, @testing-library/user-event, jsdom
- Configure vite.config.ts with jsdom test environment and globals
- Add test-setup.ts importing jest-dom matchers
2026-03-11 20:50:30 +01:00
04cbb846d1 Init 2026-03-06 19:42:15 +00:00