Platform & Access · Desktop (home dashboard)

The landing screen after login. It renders whichever dashboard is configured with category: 'home' — a custom panel, the data-quality panel or an embedded external URL — and nudges moderators when receipts are waiting.

AreaPlatform & Access
Routesindex
Centre modulesalways available
Staff levelsadmin · manager · crmmanager
Modelsdashboard · receipt
UI labeltitle.header.desktop
Coverage3 use cases · 2 happy · 4 failure

Known issues (1)

How it works

beforeModel re-runs auth.load() because dashboards and the centre are often not in the store yet right after login. The panel value is validated against enums/dashboard-panels into isValidDashboard, and the controller branches on isCustomDashboard / isExternalUrlDashboard. For external-URL dashboards the page header is hidden (pageHeader.isHidden) and restored in deactivate. The pending-receipts modal is gated on a canShowReceiptsModal sessionStorage flag and shown once, 3 seconds after load, only if the query returns at least one pending receipt.

Use cases

Why someone opens this (3)

  • A CRM manager landing on registration-quality KPIs each morning.
  • A centre embedding an external BI dashboard as the default home screen.
  • Reminding moderators that receipts are queued for verification.

Path map

flowchart LR
    F(["Desktop home dashboard"]):::feat
    F --> H1["Custom home dashboard"]:::ok
    F --> H2["Receipts nudge"]:::ok
    F -.-> X1["No home dashboard configured"]:::bad
    F -.-> X2["Unknown panel type"]:::bad
    F -.-> X3["External dashboard URL unreachable"]:::bad
    F -.-> X4["Receipt query fails"]:::bad
    classDef feat fill:#4a5c8a,stroke:#4a5c8a,color:#ffffff,font-weight:bold
    classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e
    classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13

Happy paths

Custom home dashboard

  1. User logs in and lands on index.
  2. A dashboard with category: 'home' and panel: 'custom' is found.
  3. Its configured filters are pushed into the controller models and ctrl.settle() runs.
  4. Charts and KPI tiles render with the current month’s date range as the default.

Receipts nudge

  1. An admin/manager/crmmanager logs in with canShowReceiptsModal still true.
  2. A query finds pending receipts for the centre.
  3. After 3 seconds the modal opens and the flag is set to false so it does not reappear this session.

Failure paths

QA checklist

Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.

  • ✅ Custom home dashboard
  • ✅ Receipts nudge
  • ⛔ No home dashboard configured
  • ⛔ Unknown panel type
  • ⛔ External dashboard URL unreachable
  • ⛔ Receipt query fails

Implementation


Generated from doc/feature-inventory.json · id platform-desktop · commit 276788ca6