Agent Dashboard
Agent Dashboard
The agent dashboard is the default landing page at /dashboard. It replaces the generic shell overview with a purpose-built view that aggregates real portfolio metrics across all tenancies in your organisation.
Overview
The dashboard is divided into two visual layers:
- KPI Bar — four headline numbers at the top of the page
- Section Cards — five detailed summary cards, each linking to the relevant module
All data is fetched in a single network request via the dashboard.portfolioMetrics tRPC query and is automatically scoped to your organisation.
KPI Cards
| Metric | Description | Accent |
|---|---|---|
| Active Tenancies | Number of tenancies currently active | Blue |
| Total Properties | Total number of managed properties | Default |
| Occupancy Rate | Percentage of properties occupied | Green |
| Hours Saved (est.) | Estimated hours saved through automation | Amber |
KPI cards are displayed in a responsive 4-column grid (2 columns on tablet, 1 on mobile).
Section Cards
Each section card shows a summary of its module's current state, with contextual badge counts and colour coding. Clicking any card navigates to the full detail view.
Offers
Links to: /dashboard/offers
- Active offers count
- Total offers count
- Breakdown by status: With agent (warning) and Sent to landlord
The badge on this card reflects the number of active offers.
Outstanding Items
Links to: /dashboard/portfolio
- Pending tasks
- Overdue tasks (shown in red when count > 0)
- Expired compliance documents (danger)
- Compliance documents expiring within 30 days (warning)
The badge variant escalates to danger (red) if there are any expired compliance documents or overdue tasks. It shows warning (amber) if there are any other outstanding items.
Portfolio
Links to: /dashboard/portfolio
- Active tenancies (green)
- Tenancies expiring within 90 days (amber when count > 0)
- Lapsed / overdue tenancies (red when count > 0)
The badge reflects the sum of expiring and lapsed tenancies, and uses the danger variant if any tenancies have lapsed.
Pre-Tenancy
Links to: /dashboard/referencing
- Pending referencing requests
- In-progress referencing requests (amber when count > 0)
The badge reflects total pending and in-progress referencing requests.
Renewals
Links to: /dashboard/tenancies
- Active renewals
- Decision required (amber)
- Action required (red, escalates badge to danger)
The badge uses the danger variant if any renewals require action, and warning if there are active renewals pending.
Loading States
While data is loading, the dashboard renders animated skeleton placeholders for all KPI cards and section cards. No partial or stale data is shown.
Data & Architecture
- Query:
trpc.dashboard.portfolioMetrics(single org-scoped query) - Auth scope: Requires an active organisation context (
useOrg()) - Compliance queries: Use the versioned subquery pattern consistent with the portfolio module
- No new tables required — aggregates across existing schema tables (except the additive
tenancyCommentstable added in this release for comment threads)
Navigation
The left-hand navigation Overview link already points to /dashboard. No navigation changes are required.