Resume Function
Feature Detail
Description
The Resume Function enables a paused peer mentor to return to active status, restoring full visibility in assignment pools, coordinator dashboards, and any external listings. The action is self-service and requires no coordinator approval, empowering mentors with direct control over their own availability. Upon resumption the system notifies the coordinator, updates the backend status record, and re-enables all module-gated capabilities that were suspended during the pause period. The feature completes the pause-resume lifecycle defined in §2.3 of the source documentation.
Sources & reasoning
The pause-resume lifecycle is a single conceptual requirement from §2.3. Resume is the explicit return path; without it, pause is a one-way door and the retention goal is not met. The blueprint assigns [v1.0] matching Fase 2, consistent with the pause feature. The low complexity reflects that it reuses the same status service and notification infrastructure as pause.
-
docs/source/likeperson.md · line 80Likepersoner skal kunne sette seg på pause (midlertidig deaktivering) uten å melde seg ut. Koordinator må varsles.
Analysis
The Resume Function is the essential counterpart to the Pause Function. Without a frictionless, self-service return path, a temporary pause risks becoming a permanent exit, negating the retention benefit the pause feature is designed to deliver. By making resumption a single tap, the platform signals organizational trust in its volunteers and reinforces long-term commitment. Coordinators benefit from real-time awareness of returning mentors, enabling immediate workload redistribution without manual follow-up. The feature closes the volunteer availability lifecycle and makes the pause mechanism operationally complete for all three organizations that requested it.
ResumeStatusWidget is a lightweight Flutter widget rendered inside PauseStatusScreen whenever the current mentor status equals paused. Tapping it calls PeerMentorStatusService.resume(), issuing PATCH /api/v1/peer-mentors/{id}/status with body {"status":"active"}. The backend validates the transition (paused to active only), timestamps the change in peer_mentor_statuses, and fires a push notification to the coordinator via PushNotificationService. Riverpod state invalidation refreshes all home dashboard widgets and contact pool queries. No additional screen is required; the widget is embedded in the existing status screen to minimize navigation overhead.
Components (6)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.