medium complexity extracted Contact & Peer Mentor Management Confidence: 100%
5
Components
198
Shared
24
User Stories
Yes
Analyzed

Description

Provides role-specific contact list views for coordinators, org admins, and peer mentors. Each role sees a tailored subset of contacts relevant to their responsibilities, with filtering and switching between contact types (members, peer mentors). The list supports search by name and notes, which is a MUST HAVE across all organizations. The view includes contact cards and peer mentor cards as reusable widgets, and a view switcher (notably for Barnekreftforeningen) to toggle between contact and peer mentor views. All data is fetched from Supabase with role-based access control enforced at the query level.

Analysis

Business Value

Central to daily coordinator and peer mentor workflows. Without an accessible contact list, coordinators cannot manage assignments or track outreach. Reduces friction compared to paper lists and spreadsheets currently in use.

Implementation Notes

Use Riverpod providers for role-aware contact fetching. Implement shared ContactCard and PeerMentorCard widgets with design token styling. Search must be local or debounced Supabase query. WCAG 2.2 AA contrast required on all card text.

Components (203)

User Interface (2)

Service Layer (2)

Data Layer (1)

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 (24)

Manage Peer Mentor Chapter Affiliations
medium 8 pts

As a As a Peer Mentor (Likeperson)

I want to view and edit a peer mentor's chapter affiliations, including adding or removing them from chapters

So that I can correctly manage mentors who operate across multiple chapters and prevent cross-chapter double-assignment errors

Acceptance Criteria
  • Given a peer mentor belongs to multiple chapters, when I view their detail screen, then all chapter affiliations are listed in the chapter affiliations panel
  • Given I am editing a peer mentor's affiliations, when I add a new chapter, then the assignment is saved and immediately reflected in the affiliations panel
  • Given a mentor has activities recorded in multiple chapters, when I view the chapter affiliations panel, then a cross-chapter activity warning is surfaced if duplicate activities are detected
  • +2 more
View Full Story →
View Contact List in Map Mode for Geographic Assignment Planning
medium 13 pts

As a As a Peer Mentor (Likeperson)

I want to switch from the list view to a map view showing peer mentors' locations with filtering options

So that I can make geographically optimal assignment decisions, especially for large regions where travel distance is a significant factor

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the map view toggle, then the list is replaced by an interactive map showing mentor location markers
  • Given the map is displayed, when I tap a mentor marker, then a mentor info popup appears showing the mentor's name, certification status, and an action button to view their full profile
  • Given a mentor has not granted location consent, when the map loads, then no marker is shown for that mentor and their location is not requested
  • +2 more
View Full Story →
Manage Peer Mentor Chapter Affiliations
medium 8 pts

As a As a Coordinator

I want to view and edit a peer mentor's chapter affiliations, including adding or removing them from chapters

So that I can correctly manage mentors who operate across multiple chapters and prevent cross-chapter double-assignment errors

Acceptance Criteria
  • Given a peer mentor belongs to multiple chapters, when I view their detail screen, then all chapter affiliations are listed in the chapter affiliations panel
  • Given I am editing a peer mentor's affiliations, when I add a new chapter, then the assignment is saved and immediately reflected in the affiliations panel
  • Given a mentor has activities recorded in multiple chapters, when I view the chapter affiliations panel, then a cross-chapter activity warning is surfaced if duplicate activities are detected
  • +2 more
View Full Story →
View Contact List in Map Mode for Geographic Assignment Planning
medium 13 pts

As a As a Coordinator

I want to switch from the list view to a map view showing peer mentors' locations with filtering options

So that I can make geographically optimal assignment decisions, especially for large regions where travel distance is a significant factor

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the map view toggle, then the list is replaced by an interactive map showing mentor location markers
  • Given the map is displayed, when I tap a mentor marker, then a mentor info popup appears showing the mentor's name, certification status, and an action button to view their full profile
  • Given a mentor has not granted location consent, when the map loads, then no marker is shown for that mentor and their location is not requested
  • +2 more
View Full Story →
Manage Peer Mentor Chapter Affiliations
medium 8 pts

As a As a Organization Administrator

I want to view and edit a peer mentor's chapter affiliations, including adding or removing them from chapters

So that I can correctly manage mentors who operate across multiple chapters and prevent cross-chapter double-assignment errors

Acceptance Criteria
  • Given a peer mentor belongs to multiple chapters, when I view their detail screen, then all chapter affiliations are listed in the chapter affiliations panel
  • Given I am editing a peer mentor's affiliations, when I add a new chapter, then the assignment is saved and immediately reflected in the affiliations panel
  • Given a mentor has activities recorded in multiple chapters, when I view the chapter affiliations panel, then a cross-chapter activity warning is surfaced if duplicate activities are detected
  • +2 more
View Full Story →
View Contact List in Map Mode for Geographic Assignment Planning
medium 13 pts

As a As a Organization Administrator

I want to switch from the list view to a map view showing peer mentors' locations with filtering options

So that I can make geographically optimal assignment decisions, especially for large regions where travel distance is a significant factor

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the map view toggle, then the list is replaced by an interactive map showing mentor location markers
  • Given the map is displayed, when I tap a mentor marker, then a mentor info popup appears showing the mentor's name, certification status, and an action button to view their full profile
  • Given a mentor has not granted location consent, when the map loads, then no marker is shown for that mentor and their location is not requested
  • +2 more
View Full Story →
Search Contacts and Peer Mentors by Name or Attribute
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to search for contacts and peer mentors by name, phone number, or other attributes with real-time results

So that I can quickly locate a specific person without scrolling through long lists, especially when handling urgent assignment requests

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the search bar and type at least 2 characters, then the list filters to show matching contacts within 400ms
  • Given I am searching for a contact, when the search debounce triggers, then only one API call is made per debounce interval rather than one call per keystroke
  • Given I am offline, when I search for a contact, then the search queries the local offline cache and displays cached results with an offline indicator
  • +2 more
View Full Story →
Edit Contact Information with Validation
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to edit a contact's profile information including personal details, chapter affiliations, and notes

So that I can keep contact records accurate and up to date without needing to request changes through a central administrator

Acceptance Criteria
  • Given I am on the contact detail screen, when I tap the edit button, then the edit contact screen opens pre-populated with the contact's current information
  • Given I am editing a contact, when I clear a required field and attempt to save, then I see an inline validation error message and the save button is disabled
  • Given I submit valid edits, when the save operation completes successfully, then I am returned to the contact detail screen which immediately shows the updated information
  • +2 more
View Full Story →
Pause and Reactivate a Peer Mentor
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to place a peer mentor on temporary pause or reactivate them, with automated notifications and status tracking

So that I can manage mentors who are temporarily unavailable without removing them from the system, and ensure they are hidden from public listings while paused

Acceptance Criteria
  • Given I am viewing a peer mentor's detail screen, when I tap the pause/reactivate toggle, then a confirmation dialog is shown explaining the consequences of pausing
  • Given I confirm a pause, when the pause is saved, then the mentor's status banner updates to show paused state with the expected return date if set
  • Given a mentor is paused, when another coordinator views the contact list, then the mentor is visually marked as paused and excluded from available mentor selections
  • +2 more
View Full Story →
View Peer Mentor Detail Screen with Certification and Activity Summary
high 8 pts

As a As a Peer Mentor (Likeperson)

I want to open a peer mentor's dedicated detail screen showing their certification status, assigned contacts list, and activity summary

So that I can assess a peer mentor's current capacity, certification validity, and workload before assigning new contacts or initiating a pause

Acceptance Criteria
  • Given I open a peer mentor's detail screen, when the data loads, then I see a profile header, certification status badge, assigned contacts list, and activity summary panel
  • Given the peer mentor's certification expires within 30 days, when I view their detail screen, then a certification alert banner is prominently displayed at the top of the screen
  • Given the peer mentor has an expired certification, when I view their detail screen, then the certification status badge shows a red expired state and the mentor is visually distinguished from active mentors
  • +2 more
View Full Story →
Search Contacts and Peer Mentors by Name or Attribute
high 5 pts

As a As a Coordinator

I want to search for contacts and peer mentors by name, phone number, or other attributes with real-time results

So that I can quickly locate a specific person without scrolling through long lists, especially when handling urgent assignment requests

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the search bar and type at least 2 characters, then the list filters to show matching contacts within 400ms
  • Given I am searching for a contact, when the search debounce triggers, then only one API call is made per debounce interval rather than one call per keystroke
  • Given I am offline, when I search for a contact, then the search queries the local offline cache and displays cached results with an offline indicator
  • +2 more
View Full Story →
Edit Contact Information with Validation
high 5 pts

As a As a Coordinator

I want to edit a contact's profile information including personal details, chapter affiliations, and notes

So that I can keep contact records accurate and up to date without needing to request changes through a central administrator

Acceptance Criteria
  • Given I am on the contact detail screen, when I tap the edit button, then the edit contact screen opens pre-populated with the contact's current information
  • Given I am editing a contact, when I clear a required field and attempt to save, then I see an inline validation error message and the save button is disabled
  • Given I submit valid edits, when the save operation completes successfully, then I am returned to the contact detail screen which immediately shows the updated information
  • +2 more
View Full Story →
Pause and Reactivate a Peer Mentor
high 5 pts

As a As a Coordinator

I want to place a peer mentor on temporary pause or reactivate them, with automated notifications and status tracking

So that I can manage mentors who are temporarily unavailable without removing them from the system, and ensure they are hidden from public listings while paused

Acceptance Criteria
  • Given I am viewing a peer mentor's detail screen, when I tap the pause/reactivate toggle, then a confirmation dialog is shown explaining the consequences of pausing
  • Given I confirm a pause, when the pause is saved, then the mentor's status banner updates to show paused state with the expected return date if set
  • Given a mentor is paused, when another coordinator views the contact list, then the mentor is visually marked as paused and excluded from available mentor selections
  • +2 more
View Full Story →
View Peer Mentor Detail Screen with Certification and Activity Summary
high 8 pts

As a As a Coordinator

I want to open a peer mentor's dedicated detail screen showing their certification status, assigned contacts list, and activity summary

So that I can assess a peer mentor's current capacity, certification validity, and workload before assigning new contacts or initiating a pause

Acceptance Criteria
  • Given I open a peer mentor's detail screen, when the data loads, then I see a profile header, certification status badge, assigned contacts list, and activity summary panel
  • Given the peer mentor's certification expires within 30 days, when I view their detail screen, then a certification alert banner is prominently displayed at the top of the screen
  • Given the peer mentor has an expired certification, when I view their detail screen, then the certification status badge shows a red expired state and the mentor is visually distinguished from active mentors
  • +2 more
View Full Story →
Search Contacts and Peer Mentors by Name or Attribute
high 5 pts

As a As a Organization Administrator

I want to search for contacts and peer mentors by name, phone number, or other attributes with real-time results

So that I can quickly locate a specific person without scrolling through long lists, especially when handling urgent assignment requests

Acceptance Criteria
  • Given I am on the contact list screen, when I tap the search bar and type at least 2 characters, then the list filters to show matching contacts within 400ms
  • Given I am searching for a contact, when the search debounce triggers, then only one API call is made per debounce interval rather than one call per keystroke
  • Given I am offline, when I search for a contact, then the search queries the local offline cache and displays cached results with an offline indicator
  • +2 more
View Full Story →
Edit Contact Information with Validation
high 5 pts

As a As a Organization Administrator

I want to edit a contact's profile information including personal details, chapter affiliations, and notes

So that I can keep contact records accurate and up to date without needing to request changes through a central administrator

Acceptance Criteria
  • Given I am on the contact detail screen, when I tap the edit button, then the edit contact screen opens pre-populated with the contact's current information
  • Given I am editing a contact, when I clear a required field and attempt to save, then I see an inline validation error message and the save button is disabled
  • Given I submit valid edits, when the save operation completes successfully, then I am returned to the contact detail screen which immediately shows the updated information
  • +2 more
View Full Story →
Pause and Reactivate a Peer Mentor
high 5 pts

As a As a Organization Administrator

I want to place a peer mentor on temporary pause or reactivate them, with automated notifications and status tracking

So that I can manage mentors who are temporarily unavailable without removing them from the system, and ensure they are hidden from public listings while paused

Acceptance Criteria
  • Given I am viewing a peer mentor's detail screen, when I tap the pause/reactivate toggle, then a confirmation dialog is shown explaining the consequences of pausing
  • Given I confirm a pause, when the pause is saved, then the mentor's status banner updates to show paused state with the expected return date if set
  • Given a mentor is paused, when another coordinator views the contact list, then the mentor is visually marked as paused and excluded from available mentor selections
  • +2 more
View Full Story →
View Peer Mentor Detail Screen with Certification and Activity Summary
high 8 pts

As a As a Organization Administrator

I want to open a peer mentor's dedicated detail screen showing their certification status, assigned contacts list, and activity summary

So that I can assess a peer mentor's current capacity, certification validity, and workload before assigning new contacts or initiating a pause

Acceptance Criteria
  • Given I open a peer mentor's detail screen, when the data loads, then I see a profile header, certification status badge, assigned contacts list, and activity summary panel
  • Given the peer mentor's certification expires within 30 days, when I view their detail screen, then a certification alert banner is prominently displayed at the top of the screen
  • Given the peer mentor has an expired certification, when I view their detail screen, then the certification status badge shows a red expired state and the mentor is visually distinguished from active mentors
  • +2 more
View Full Story →
View and Browse Contact List with Role-Specific Perspectives
critical 8 pts

As a As a Peer Mentor (Likeperson)

I want to view a organized list of all contacts and peer mentors within my chapter with role-specific filtering

So that I can quickly identify who is active, available, or needs follow-up without manually searching through spreadsheets

Acceptance Criteria
  • Given I am logged in as a coordinator, when I navigate to the Contacts tab, then I see a paginated list of all contacts within my chapter
  • Given I am on the contact list screen, when I tap the view switcher, then the list toggles between a contacts view showing all contacts and a peer mentors view showing only peer mentors
  • Given the contact list is loaded, when I view each contact card, then I see the contact name, assignment status indicator, and any active pause or certification warning badges
  • +2 more
View Full Story →
View Comprehensive Contact Detail with Assignment History
critical 8 pts

As a As a Peer Mentor (Likeperson)

I want to open a contact's detail page showing their full profile, assignment history, chapter affiliations, and activity log

So that I have all the context needed to make informed decisions about assigning them to new peer mentor activities or follow-up tasks

Acceptance Criteria
  • Given I tap a contact card, when the detail screen opens, then I see the contact's full name, phone, email, organization role, and assignment status
  • Given a contact has affiliations in multiple chapters, when I view their detail screen, then I see multi-chapter affiliation chips for each chapter they belong to
  • Given the contact has encrypted sensitive fields, when I attempt to view those fields, then I am first shown a sensitive field warning dialog before the decrypted content is displayed
  • +2 more
View Full Story →
View and Browse Contact List with Role-Specific Perspectives
critical 8 pts

As a As a Coordinator

I want to view a organized list of all contacts and peer mentors within my chapter with role-specific filtering

So that I can quickly identify who is active, available, or needs follow-up without manually searching through spreadsheets

Acceptance Criteria
  • Given I am logged in as a coordinator, when I navigate to the Contacts tab, then I see a paginated list of all contacts within my chapter
  • Given I am on the contact list screen, when I tap the view switcher, then the list toggles between a contacts view showing all contacts and a peer mentors view showing only peer mentors
  • Given the contact list is loaded, when I view each contact card, then I see the contact name, assignment status indicator, and any active pause or certification warning badges
  • +2 more
View Full Story →
View Comprehensive Contact Detail with Assignment History
critical 8 pts

As a As a Coordinator

I want to open a contact's detail page showing their full profile, assignment history, chapter affiliations, and activity log

So that I have all the context needed to make informed decisions about assigning them to new peer mentor activities or follow-up tasks

Acceptance Criteria
  • Given I tap a contact card, when the detail screen opens, then I see the contact's full name, phone, email, organization role, and assignment status
  • Given a contact has affiliations in multiple chapters, when I view their detail screen, then I see multi-chapter affiliation chips for each chapter they belong to
  • Given the contact has encrypted sensitive fields, when I attempt to view those fields, then I am first shown a sensitive field warning dialog before the decrypted content is displayed
  • +2 more
View Full Story →
View and Browse Contact List with Role-Specific Perspectives
critical 8 pts

As a As a Organization Administrator

I want to view a organized list of all contacts and peer mentors within my chapter with role-specific filtering

So that I can quickly identify who is active, available, or needs follow-up without manually searching through spreadsheets

Acceptance Criteria
  • Given I am logged in as a coordinator, when I navigate to the Contacts tab, then I see a paginated list of all contacts within my chapter
  • Given I am on the contact list screen, when I tap the view switcher, then the list toggles between a contacts view showing all contacts and a peer mentors view showing only peer mentors
  • Given the contact list is loaded, when I view each contact card, then I see the contact name, assignment status indicator, and any active pause or certification warning badges
  • +2 more
View Full Story →
View Comprehensive Contact Detail with Assignment History
critical 8 pts

As a As a Organization Administrator

I want to open a contact's detail page showing their full profile, assignment history, chapter affiliations, and activity log

So that I have all the context needed to make informed decisions about assigning them to new peer mentor activities or follow-up tasks

Acceptance Criteria
  • Given I tap a contact card, when the detail screen opens, then I see the contact's full name, phone, email, organization role, and assignment status
  • Given a contact has affiliations in multiple chapters, when I view their detail screen, then I see multi-chapter affiliation chips for each chapter they belong to
  • Given the contact has encrypted sensitive fields, when I attempt to view those fields, then I am first shown a sensitive field warning dialog before the decrypted content is displayed
  • +2 more
View Full Story →