Coordinator Pause Roster Screen
Component Detail
Description
Dedicated screen for coordinators to view all peer mentors under their management with their current pause and certification statuses. Supports filtering by status and displays expected return dates inline.
coordinator-pause-roster-screen
Summaries
The Coordinator Pause Roster Screen gives program coordinators a centralized, real-time view of all peer mentor availability — including who is active, paused, or at risk of certification expiry. This operational visibility directly reduces the chance of scheduling gaps, missed certifications, and program disruptions. By surfacing expected return dates and expiry warnings in a single view, coordinators can proactively reallocate workloads and ensure compliance without manual tracking in spreadsheets or messaging threads. This capability improves program reliability, reduces coordinator cognitive load, and strengthens organizational readiness.
This is a medium-complexity screen with two component dependencies: `pause-status-indicator` and `certification-expiry-warning-banner`, both of which must be ready before integration. It loads data for a specific coordinator's assigned roster, so backend API availability and authentication context are prerequisite delivery items. Testing must cover all four filter states (active, paused, expired_cert, resigned), expected return date display, expiry warning visibility logic, and navigation to mentor detail. Performance testing should confirm acceptable load times for coordinators with large rosters.
As a coordinator-exclusive screen, it is not shared — changes have a limited blast radius confined to the coordinator workflow.
Screen loads roster via `loadRosterWithStatuses(coordinatorId)`, returning a list of mentors with associated `peer_mentor_status` and `certification` data model fields. `filterByStatus(statusEnum)` applies client-side filtering across four discrete status values. `navigateToMentorDetail(mentorId)` pushes the mentor detail route with the selected ID. `refreshRoster()` re-fetches from the data source, supporting pull-to-refresh UX.
`showExpiryWarnings()` conditionally renders `certification-expiry-warning-banner` for mentors whose certification expires within a configurable threshold (e.g., 30 days). State management should use Riverpod with async loading states to handle network latency gracefully. Filter state should persist across refreshes within the same session.
Responsibilities
- List all assigned peer mentors with current pause status
- Filter list by status (active, paused, expired_cert, resigned)
- Display expected return date for paused mentors
- Surface upcoming certification expiry warnings
Interfaces
loadRosterWithStatuses(coordinatorId)
filterByStatus(statusEnum)
navigateToMentorDetail(mentorId)
refreshRoster()
showExpiryWarnings()
Relationships
Dependencies (2)
Components this component depends on