Skip to main content

Route

/dashboard — Default landing page after login.

Data Sources

SectionAPI EndpointKey Fields
KPI GridGET /dashboard/kpistotal_nil_value, avg_deal_value, active_deals, budget_remaining, expiring_deals
Alert StripGET /dashboard/alertspending_verification, over_budget_sports, expiring_within_30_days
Budget SnapshotGET /dashboard/budget-snapshotPer-sport annual_cap vs committed with progress bars
Expiring DealsGET /dashboard/expiring-dealsDeals expiring within 60 days with athlete name, sport, position
Reporting StatusGET /dashboard/reporting-statusverified, pending_review, needs_review counts, verification_rate

Key Behaviors

  • Alert strip is dismissible — shows pending verifications, over-budget sports, and expiring deal counts
  • Budget bars color-code: sky blue (under 80%), amber (80-100%), red (over cap)
  • Expiring deals show days remaining with red badge for 7 days or less
  • KPIs are computed from active deals only (not expired/cancelled)
  • Budget remaining = total annual cap minus active deal committed spend
  • Premium benchmark teaser links to /benchmarks

File

frontend/src/pages/DashboardPage.vue