low complexity extracted Peer Mentor Status Confidence: 100%
2
Components
4
Shared
0
User Stories
Yes
Analyzed

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 80
    Likepersoner skal kunne sette seg på pause (midlertidig deaktivering) uten å melde seg ut. Koordinator må varsles.

Analysis

Business Value

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.

Implementation Notes

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.

User Stories

No user stories have been generated for this feature yet.