Add @bytelyst/charts + @bytelyst/data-viz as workspace:* deps (minimal importer link entries in the lockfile). Replace the badge-pill breakdowns on /dashboard with KpiCards (total/open/in-progress/done) and a dynamically imported chart surface: Donut for By Status + By Type (centered total) and a BarChart for By Priority, coloured from the bridged --bl-chart-* palette. Pure transforms live in src/lib/overview-charts.ts (finite-coerced, no NaN reaches the SVG); the heavy chart surface is split into overview-charts.tsx and loaded via next/dynamic (ssr:false) to keep it out of the route bundle. Add overview-charts.test.tsx rendering the surface with mocked stats via react-dom/server (no NaN in paths) + transform unit tests; dedupe react in vitest so the SSR render uses a single React instance. Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| app | ||
| components | ||
| lib | ||
| instrumentation.ts | ||