User Interface medium complexity frontendbackend
4
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Server-side rendered Next.js page providing coordinators and organization admins with aggregated activity data across all peer mentors in their scope. Renders summary stat cards and a paginated data table, consuming the /api/v1/reports/team endpoint with role-based tenant isolation applied server-side.

Feature: Team Reports

team-reports-page

Responsibilities

  • Render summary stat cards (total hours, activity types, contact coverage, trend lines)
  • Display paginated, filterable data table of per-peer-mentor activity aggregates
  • Pass filter parameters (date range, activity type, org unit) to the report endpoint via query string
  • Handle empty states and loading skeletons during SSR data fetch

Interfaces

GET /api/v1/reports/team?from=&to=&activityType=&orgUnit=
ReportRow interface: { mentorId, mentorName, totalHours, activityCount, contactCount, lastActivity }
ReportSummary interface: { totalMentors, totalHours, totalActivities, totalContacts }