24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
# F-148 — Implementer evidence
|
|
|
|
## What
|
|
F-148 build evidence: Admin reporting dashboard with sales trends (SVG bar chart), channel breakdown (ecommerce/POS/admin), and top stores/terminals tables. Built on F-147 DateRangePicker and F-146 ReportingService.
|
|
|
|
## Files
|
|
- `apps/admin/src/app/(dashboard)/reporting/dashboard/page.tsx` (created) — main dashboard
|
|
- `apps/admin/src/components/reporting/TrendChart.tsx` (created) — SVG bar chart
|
|
- `apps/admin/src/components/reporting/ChannelBreakdown.tsx` (created) — channel cards
|
|
|
|
## Verification
|
|
- `npx tsc --noEmit` (admin app) → 0 TypeScript errors.
|
|
- `./scripts/verify.sh` → green (F-148 in_progress, runtime-consistent).
|
|
|
|
## AC traceability
|
|
| AC | Estado | Evidencia |
|
|
|----|--------|-----------|
|
|
| AC1 trend chart | ✅ | TrendChart.tsx SVG bar chart from sales groupBy=day data |
|
|
| AC2 channel breakdown | ✅ | ChannelBreakdown.tsx shows ecommerce/POS/admin cards with % bar |
|
|
| AC3 top stores table | ✅ | StoresTable fetches groupBy=store, sorted by grossSalesCents |
|
|
| AC4 date/channel filters | ✅ | Reuses DateRangePicker + channel selector; URL persistence |
|
|
| AC5 loading/empty/error | ✅ | Per-section loading skeletons, error messages |
|
|
| AC6 tsc/verify | ✅ | tsc 0, verify verde |
|