low complexity extracted Contact & Peer Mentor Management Confidence: 100%
6
Components
198
Shared
10
User Stories
Yes
Analyzed

Description

Allows peer mentors to temporarily deactivate themselves without fully resigning. When paused, the mentor is hidden from assignment pools and coordinator-facing listings. The coordinator is automatically notified when a mentor activates pause mode. Reactivation returns the mentor to active status. For HLF, this is tightly coupled with certification: if a certification expires, the peer mentor is automatically paused and removed from the local chapter's public website listing. NHF requires coordinator notification on any pause event to avoid gaps in coverage.

Analysis

Business Value

Reduces permanent drop-off by giving mentors a low-friction way to take breaks. Prevents coordinators from unknowingly assigning work to unavailable mentors. Addresses a key retention concern raised by both NHF and HLF.

Implementation Notes

Pause state stored as a status enum in Supabase (active, paused, inactive). Trigger a push notification or in-app notification to the coordinator on status change. HLF certification expiry should set status to paused automatically via a Supabase Edge Function or scheduled job.

Components (204)

User Interface (3)

Service Layer (1)

Infrastructure (2)

Shared Components

These components are reused across multiple features

User Interface (59)

ui Role Switch Widget medium Shared ui Role-Aware Bottom Navigation medium Shared ui Activity Type Selection Screen low Shared ui Speech-to-Text Field Overlay medium Shared ui Receipt Capture Widget medium Shared ui Peer Mentor Single Selector low Shared ui Proxy Audit Badge Widget low Shared ui Export Period Picker low Shared ui Contact Card Widget low Shared ui Contact Search Bar low Shared ui Peer Mentor Card Widget low Shared ui Activity History List low Shared ui Multi-Chapter Affiliation Chip Widget medium Shared ui Certification Status Badge low Shared ui Duplicate Activity Warning Dialog medium Shared ui Mentor Multi-Select Widget medium Shared ui Map Filter Panel medium Shared ui Claim Status Badge low Shared ui Export Date Range Picker low Shared ui Custom Date Range Picker low Shared ui Duplicate Activity Warning Dialog low Shared ui Proxy Activity Form medium Shared ui Proxy Peer Mentor Selector medium Shared ui Expected Return Date Picker low Shared ui Pause Activation Screen low Shared ui Pause Status Indicator low Shared ui Admin KPI Stat Widget low Shared ui Organisation Hierarchy Navigator high Shared ui Bufdir Period Selector Widget low Shared ui Export History List medium Shared ui Activity Type Donut Chart medium Shared ui Monthly Activity Bar Chart medium Shared ui Statistics Period Filter Bar low Shared ui Statistics Summary Cards low Shared ui Notification Badge Widget low Shared ui Certificate Expiry Status Indicator low Shared ui Animated Stat Card Widget medium Shared ui In-App Notification Banner low Shared ui Accessible Modal Sheet Widget high Shared ui Live Region Announcer medium Shared ui Semantics Wrapper Widget medium Shared ui Sensitive Field Warning Dialog high Shared ui Confirm Before Submit Screen medium Shared ui Inline Contextual Help Widget low Shared ui Labelled Navigation Bar low Shared ui Plain Language Error Display low Shared ui Single-Action Screen Layout medium Shared ui Wizard Progress Indicator low Shared ui Accessible Text Style System medium Shared ui Accessible Touch Target Wrapper low Shared ui Contrast-Safe Color Palette Widget medium Shared ui Accessible Bottom Navigation Bar medium Shared ui Modal Close Button low Shared ui Persistent Back Button low Shared ui Vertical Scroll Container low Shared ui Organization Card Widget low Shared ui Terminology-Aware Text Widget low Shared ui FeatureGate Widget low Shared ui Chapter Switcher medium Shared

Service Layer (52)

service Authentication Service medium Shared service Authentication Session Manager medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Permission Checker Service medium Shared service Role State Manager medium Shared service No-Access Route Guard low Shared service Activity Type Metadata Resolver low Shared service Chapter Scope Resolver medium Shared service Organisation Hierarchy Resolver medium Shared service Coordinator Notification Service medium Shared service Duplicate Activity Detection Service high Shared service Mentor Filter Service low Shared service Receipt Threshold Validator low Shared service Approval Status Notification Service medium Shared service Threshold Evaluation Service medium Shared service Declaration Encryption Service high Shared service Organization Feature Flag Service low Shared service Participant Deduplication Service high Shared service Reporting Period Service medium Shared service Activity Attribution Service low Shared service Proxy Duplicate Detection Service medium Shared service Pause Management Service medium Shared service Pause Notification Service medium Shared service Admin Export Service medium Shared service Admin Row-Level Security Guard high Shared service Organisation Hierarchy Service high Shared service User Management Service high Shared service Role Access Validator low Shared service Peer Mentor Stats Aggregator medium Shared service Push Notification Dispatcher medium Shared service Notification Preference Service low Shared service Scenario Deep-Link Router medium Shared service Scenario Notification Content Builder medium Shared service Badge Criteria Integration medium Shared service Activity Summary Aggregator low Shared service Focus Management Service medium Shared service Screen Reader Detection Service medium Shared service Sensitive Field Privacy Guard high Shared service Plain Language Content Service medium Shared service Wizard State Manager medium Shared service Tab State Manager medium Shared service Organization Route Guard medium Shared service Tenant Context Service high Shared service Label Key Resolver Service low Shared service Organization Labels Notifier medium Shared service FeatureFlagProvider (Riverpod) medium Shared service Access Scope Service high Shared service Hierarchy Aggregation Service high Shared service Hierarchy Service high Shared service Unit Assignment Service medium Shared

Data Layer (33)

Infrastructure (54)

infrastructure Keyboard-Aware Layout Utility low Shared infrastructure Supabase Auth Client low Shared infrastructure Deep Link / OAuth Redirect Handler medium Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase Session Manager medium Shared infrastructure URL Launcher Utility low Shared infrastructure Local Storage Adapter low Shared infrastructure Supabase Activity Client low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client low Shared infrastructure Organisation Field Config Loader medium Shared infrastructure Speech-to-Text Adapter medium Shared infrastructure File Download Handler low Shared infrastructure Duplicate Reviewed Flag Middleware low Shared infrastructure Contact RLS Query Builder low Shared infrastructure Contact Form Validator low Shared infrastructure Design Token Theme low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client Provider low Shared infrastructure Search Debounce Utility low Shared infrastructure Expense Type Analytics Tracker low Shared infrastructure Receipt Image Picker Integration low Shared infrastructure CSV / JSON File Generator medium Shared infrastructure Coordinator Role Guard low Shared infrastructure Nightly Job Scheduler medium Shared infrastructure Supabase RLS Policy Configuration high Shared infrastructure Export File Storage Adapter low Shared infrastructure Supabase Storage Adapter low Shared infrastructure Peer Mentor Pause Management Service medium Shared infrastructure Push Notification Service medium Shared infrastructure fl_chart Adapter medium Shared infrastructure Push Notification Service low Shared infrastructure FCM Push Notification Sender medium Shared infrastructure FCM Notification Dispatcher medium Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Supabase Realtime Subscription Service medium Shared infrastructure Organisation Data Isolation Guard low Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Deep Link Handler medium Shared infrastructure QR Code Generator low Shared infrastructure Share Sheet Bridge low Shared infrastructure Semantics Service Facade medium Shared infrastructure Accessibility Design Token Enforcer medium Shared infrastructure Accessible Theme Builder medium Shared infrastructure Navigation Route Configuration medium Shared infrastructure Accessibility Live Region Announcer low Shared infrastructure Feature Flag Provider low Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase RLS Tenant Scope Configurator medium Shared infrastructure Label Key Registry low Shared infrastructure Terminology Riverpod Providers low Shared infrastructure WCAG Semantics Label Resolver low Shared infrastructure Feature Flag Key Constants low Shared infrastructure RLS Policy Manager high Shared

User Stories (10)

Set Expected Return Date When Pausing
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to optionally specify an expected return date when I initiate a pause

So that my coordinator can plan around my absence and the system can automatically remind me to reactivate when my intended return date approaches

Acceptance Criteria
  • Given the pause confirmation dialog is open, when I tap 'Set expected return date', then a date picker appears allowing me to select a future date
  • Given I have selected a return date and confirmed the pause, when the coordinator notification is sent, then it includes my name and the expected return date
  • Given I have set a return date, when the current date is two days before the expected return date, then I receive a push notification reminding me that my planned return date is approaching and prompting me to reactivate
  • +3 more
View Full Story →
View Current Pause Status and History
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to clearly see my current pause status and any relevant notifications about it within the app

So that I am always aware of my active state and can take action if something requires my attention, such as an expiring certification that is blocking reactivation

Acceptance Criteria
  • Given I am paused, when I open the app home screen, then a pause status banner is displayed prominently with my pause start date and expected return date if set
  • Given I am paused, when I navigate to my profile, then my status is shown as 'Paused' with a visual indicator distinct from 'Active'
  • Given my certification expires while I am paused, when I open the app, then a certification expiry warning banner appears above or alongside the pause status banner
  • +3 more
View Full Story →
Set Expected Return Date When Pausing
medium 3 pts

As a As a Coordinator

I want to optionally specify an expected return date when I initiate a pause

So that my coordinator can plan around my absence and the system can automatically remind me to reactivate when my intended return date approaches

Acceptance Criteria
  • Given the pause confirmation dialog is open, when I tap 'Set expected return date', then a date picker appears allowing me to select a future date
  • Given I have selected a return date and confirmed the pause, when the coordinator notification is sent, then it includes my name and the expected return date
  • Given I have set a return date, when the current date is two days before the expected return date, then I receive a push notification reminding me that my planned return date is approaching and prompting me to reactivate
  • +3 more
View Full Story →
View Current Pause Status and History
medium 3 pts

As a As a Coordinator

I want to clearly see my current pause status and any relevant notifications about it within the app

So that I am always aware of my active state and can take action if something requires my attention, such as an expiring certification that is blocking reactivation

Acceptance Criteria
  • Given I am paused, when I open the app home screen, then a pause status banner is displayed prominently with my pause start date and expected return date if set
  • Given I am paused, when I navigate to my profile, then my status is shown as 'Paused' with a visual indicator distinct from 'Active'
  • Given my certification expires while I am paused, when I open the app, then a certification expiry warning banner appears above or alongside the pause status banner
  • +3 more
View Full Story →
Initiate Temporary Pause as Peer Mentor
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to temporarily pause my peer mentor activity without fully unregistering from the organisation

So that I can take a break due to illness, travel, or personal circumstances and resume later without losing my history or profile

Acceptance Criteria
  • Given I am logged in as a peer mentor, when I tap the pause/reactivate toggle on my profile, then a confirmation dialog appears explaining what pausing means and asking me to confirm
  • Given the confirmation dialog is shown, when I confirm the pause, then my status is set to paused in the system and the toggle reflects the new state immediately
  • Given I have confirmed the pause, when the status update is saved, then the coordinator responsible for my chapter receives an in-app and push notification informing them that I have paused
  • +3 more
View Full Story →
Reactivate After a Pause Period
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to reactivate my peer mentor status with a single action when I am ready to resume

So that I can return to active status quickly without contacting my coordinator or going through any re-onboarding steps

Acceptance Criteria
  • Given I am paused and logged in, when I view my profile or home screen, then a clear 'Reactivate' button or toggle is visible alongside a pause status banner
  • Given I tap reactivate, when I confirm in the dialog, then my status changes to active immediately and the pause status banner disappears
  • Given I have reactivated, when the status change is saved, then my coordinator receives an in-app and push notification confirming my return
  • +3 more
View Full Story →
Receive Certification Expiry Warning During Pause
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to receive a clear in-app and push notification if my certification is about to expire or has expired while I am on pause

So that I can take steps to renew my certification before I reactivate and avoid being automatically removed from the chapter's public website or active roster

Acceptance Criteria
  • Given I am paused and my certification expires in 30 days, when the nightly scheduler runs, then I receive a push notification and an in-app notification warning me of the upcoming expiry
  • Given I am paused and my certification has expired today, when the nightly scheduler runs, then I receive a push notification stating my certification has expired and that I need to renew before reactivating
  • Given I receive a certification expiry push notification, when I tap it, then I am deep-linked to the certification management screen showing my current certification status and renewal options
  • +3 more
View Full Story →
Initiate Temporary Pause as Peer Mentor
high 5 pts

As a As a Coordinator

I want to temporarily pause my peer mentor activity without fully unregistering from the organisation

So that I can take a break due to illness, travel, or personal circumstances and resume later without losing my history or profile

Acceptance Criteria
  • Given I am logged in as a peer mentor, when I tap the pause/reactivate toggle on my profile, then a confirmation dialog appears explaining what pausing means and asking me to confirm
  • Given the confirmation dialog is shown, when I confirm the pause, then my status is set to paused in the system and the toggle reflects the new state immediately
  • Given I have confirmed the pause, when the status update is saved, then the coordinator responsible for my chapter receives an in-app and push notification informing them that I have paused
  • +3 more
View Full Story →
Reactivate After a Pause Period
high 5 pts

As a As a Coordinator

I want to reactivate my peer mentor status with a single action when I am ready to resume

So that I can return to active status quickly without contacting my coordinator or going through any re-onboarding steps

Acceptance Criteria
  • Given I am paused and logged in, when I view my profile or home screen, then a clear 'Reactivate' button or toggle is visible alongside a pause status banner
  • Given I tap reactivate, when I confirm in the dialog, then my status changes to active immediately and the pause status banner disappears
  • Given I have reactivated, when the status change is saved, then my coordinator receives an in-app and push notification confirming my return
  • +3 more
View Full Story →
Receive Certification Expiry Warning During Pause
high 5 pts

As a As a Coordinator

I want to receive a clear in-app and push notification if my certification is about to expire or has expired while I am on pause

So that I can take steps to renew my certification before I reactivate and avoid being automatically removed from the chapter's public website or active roster

Acceptance Criteria
  • Given I am paused and my certification expires in 30 days, when the nightly scheduler runs, then I receive a push notification and an in-app notification warning me of the upcoming expiry
  • Given I am paused and my certification has expired today, when the nightly scheduler runs, then I receive a push notification stating my certification has expired and that I need to renew before reactivating
  • Given I receive a certification expiry push notification, when I tap it, then I am deep-linked to the certification management screen showing my current certification status and renewal options
  • +3 more
View Full Story →