Pause Activation Screen
Component Detail
Description
Full-screen modal allowing a peer mentor to activate or lift a pause. Collects optional expected return date and displays current pause status with duration. Shared with peer-mentor-pause feature.
pause-activation-screen
Summaries
The Pause Activation Screen enables peer mentors to self-manage their active/paused status directly from their mobile device, reducing the administrative burden on coordinators and enabling faster response to real-world availability changes. By providing a clear visual indicator of current status and capturing expected return dates, the organization gains better workforce planning visibility. This self-service capability reduces manual coordinator intervention per pause event, lowers operational cost, and ensures that activity scheduling reflects actual mentor availability — directly protecting program delivery quality and participant experience.
This shared, low-complexity screen depends on two reusable sub-components — `expected-return-date-picker` and `pause-status-indicator` — both of which must be delivered before this screen can be fully assembled and tested. Coordinate delivery sequencing to avoid blocking integration work. The screen is shared across at least two features (peer-mentor-pause and coordinator workflows), so any UI or logic changes must be regression-tested in both contexts. Testing requires confirmation dialogs, status transition flows, date picker integration, and navigation behavior.
Mark this as a shared dependency in the project plan to ensure joint ownership and review before release.
Full-screen modal widget implementing six interface methods: `activatePause(expectedReturnDate?)`, `liftPause()`, `showCurrentStatus()`, `showConfirmationDialog(action)`, `displayPauseDuration(startDate)`, and `navigateBack()`. Depends on `expected-return-date-picker` for optional return date capture and `pause-status-indicator` for visual status rendering. References the `peer_mentor_status` data model. Confirmation dialogs should gate both activate and lift actions to prevent accidental state changes.
`displayPauseDuration(startDate)` computes elapsed time from `startDate` to `DateTime.now()`. Since this is shared, route navigation state must be handled carefully to support both feature contexts without coupling the widget to a specific feature's navigation stack.
Responsibilities
- Display current active/paused status with visual indicator
- Collect optional expected return date via date picker
- Confirm pause activation or deactivation with user feedback
Interfaces
activatePause(expectedReturnDate?)
liftPause()
showCurrentStatus()
showConfirmationDialog(action)
displayPauseDuration(startDate)
navigateBack()
Relationships
Dependencies (2)
Components this component depends on