refactor(reports): top-level /reports section in the header, not a Setup tab
CI / check (push) Failing after 30s
CI / check (push) Failing after 30s
Moves Reports out of the Setup tab bar into a standalone top-level route (/reports) with its own header nav link, alongside Booth/Shifts/ Subscriptions. Adds a /setup/reports → /reports legacy redirect. Same report:read gate. Wiki note updated. Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
This commit is contained in:
@@ -14,8 +14,9 @@ derived and rebuildable, never a separate ledger.
|
||||
|
||||
## Built — admin Reports dashboard v1 (2026-06-22)
|
||||
|
||||
A first cut shipped: an admin **Reports** screen (`/setup/reports`, gated on `report:read`), an
|
||||
on-demand **dashboard** (not a live feed). Server aggregates everything in **one call**
|
||||
A first cut shipped: an admin **Reports** screen — a **top-level section** at **`/reports`** with its
|
||||
own header nav entry (not nested under Setup), gated on `report:read` — an on-demand **dashboard**
|
||||
(not a live feed). Server aggregates everything in **one call**
|
||||
(`GET /api/reports/summary?from&to&bucket`) so the SPA only renders; `…/summary.csv` exports the
|
||||
per-bucket series. Code: `apps/server/src/reports.ts` (+ `routes/reports.ts`), `apps/web/src/Reports.tsx`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user