51 lines
2.9 KiB
Markdown
51 lines
2.9 KiB
Markdown
# SPEC — System Dashboard
|
|
|
|
**Date:** 2026-09-09
|
|
**Status:** implemented on VM500 (`/`)
|
|
**Language:** English UI
|
|
|
|
## Purpose
|
|
|
|
The Dashboard is the system's presentation and navigation page. It summarizes the complete resident group and does not duplicate the Residents data grid.
|
|
|
|
## Route separation
|
|
|
|
- `/` — consolidated system Dashboard. Do not put the Cash (SA) grid here.
|
|
- `/residents` — **Rent Payments Control**: complete resident register and Cash (SA) account grid.
|
|
- `/residents/{id}` — individual resident account dashboard.
|
|
- The sidebar item **Rent Payments Control** links to `/residents`; **Dashboard** remains `/`.
|
|
|
|
## Branding
|
|
|
|
- The Salvation Army shield (`/salvation-army-shield.svg`) replaces the red `SA` badge in the **sidebar** (white circular background). It is not shown next to the Rent Payments Control page title.
|
|
|
|
## Dashboard content
|
|
|
|
- Current statement-week hero: collection rate, cash, due, paid, part-paid and unpaid resident counts.
|
|
- Residents: all records, currently housed, former/no-room records, occupied rooms and complete weekly due.
|
|
- Collections and arrears: expected, cash collected, payment count, collection gap and outstanding balance.
|
|
- Agreements and balances: active agreements, agreement balance, overdue installments and new rent arrears.
|
|
- Data quality: missing SAGE IDs, room conflicts, duplicate names and missing charge bands.
|
|
- System navigation cards: Residents, Account Receivables, Payments MAP WEEK, ROI Finance, Arrears and Reports.
|
|
|
|
## Data contract
|
|
|
|
- Totals use the complete API result and are not affected by UI pagination or search filters.
|
|
- Current-week collection figures use the same Payment Map report service as `/mapa`.
|
|
- Financial values are displayed in full EUR format; counts are displayed as complete integers.
|
|
- Every metric card links to its relevant operational page or report.
|
|
- The Dashboard contains no Cash (SA) transaction table.
|
|
|
|
## Visual language
|
|
|
|
- Hero band: donut gauge for the cash collection rate (green track `#dcefe5`, arc `#0f6b4f`, end dot), a vertical rule, then icon-chip statistics for total collected and total due.
|
|
- Hero right block: 2x2 tile grid separated by hairlines, each tile with an icon chip — Residents (blue), Paid (green filled check), Part paid (amber clock), Unpaid (red alert).
|
|
- Metric cards: horizontal layout with a rounded `9px` tinted icon chip on the left and label, value and note stacked on the right. No corner arrow.
|
|
- Section headers: bold 13px title on the left, muted 10px context note right-aligned.
|
|
- Colour is semantic: green for healthy/collected, amber for review, red for arrears and exceptions, blue for neutral volume.
|
|
|
|
## Money privacy (007.2026)
|
|
|
|
- Header and Dashboard toolbars include **Show € / Hide €**.
|
|
- Amounts use `privacyMoneyLabel` / `euro()` with app-wide subscription — see `SPEC-MONEY-PRIVACY.md`.
|
|
- Default: amounts hidden until the operator reveals them.
|