Contact Detail & Edit Screen
Feature Detail
Description
Displays full profile information for a contact or peer mentor, including relevant metadata such as affiliation, role, and activity history. Coordinators and admins can navigate to an edit screen to update contact information. The detail screen serves as the primary entry point for understanding a contact's status and history. For Blindeforbundet, this screen must also show assignment status (open, pending, completed) and support encrypted field display with read-receipt confirmation. NHF requires handling contacts affiliated with up to 5 local chapters simultaneously, with clear affiliation display to prevent double-reporting.
Analysis
Enables accurate record-keeping and reduces coordination errors. Critical for organizations like NHF with complex multi-chapter membership structures, and for Blindeforbundet's encrypted assignment workflow.
Edit screen should use AppTextField and custom fields table widgets. Multi-chapter affiliation for NHF requires a multi-select or tagged chip UI. Encrypted fields (Blindeforbundet) need a separate display layer with read-receipt write-back to Supabase. Validate all fields client-side before save.
Components (207)
Shared Components
These components are reused across multiple features
User Interface (59)
Service Layer (52)
Data Layer (33)
Infrastructure (54)
User Stories (21)
As a As a Peer Mentor (Likeperson)
I want to scroll through a peer mentor's complete activity history directly from their contact detail screen, with filtering by date range and activity type
So that I can monitor engagement levels, identify inactive peer mentors who may need follow-up, and verify that activities have been registered correctly before submitting Bufdir reports
- Given I am on the contact detail screen, When I scroll to the activity history section, Then I see a list of activities sorted by date descending, showing activity type, date, duration, and chapter
- Given the contact has more than 20 activity records, When I scroll to the bottom of the history list, Then the next page of records loads automatically (infinite scroll pagination)
- Given I am viewing the activity history, When I tap the time window selector, Then I can choose from preset options (Last 30 days, Last 6 months, This year, Custom) and the list filters accordingly
- +3 more
As a As a Peer Mentor (Likeperson)
I want to seamlessly switch between the general contact detail view and the dedicated peer mentor detail view for contacts who have the peer mentor role
So that I can access both generic contact information and peer mentor-specific information such as certification status, assigned contacts list, and mentor activity summary from a single entry point
- Given I am on the contact detail screen for a contact with the peer mentor role, When the screen loads, Then a 'Peer Mentor Profile' tab or button is visible in addition to the standard contact detail tab
- Given I tap the peer mentor profile tab, When the peer mentor detail screen loads, Then I see the peer mentor profile header showing name, photo placeholder, and current certification status badge
- Given the peer mentor's certification expires within 30 days, When the peer mentor detail view loads, Then a certification alert banner is displayed at the top with the expiry date and a prompt to renew
- +3 more
As a As a Peer Mentor (Likeperson)
I want to view and modify which chapters a peer mentor is affiliated with, including adding or removing chapter memberships
So that I can correctly reflect a peer mentor's organizational scope and ensure their activities are attributed to the right chapters without creating duplicate reporting
- Given I am on the contact detail screen, When the contact belongs to 3 chapters, Then 3 affiliation chips are displayed, each showing the chapter name and a distinct color indicator
- Given I am in edit mode, When I tap the chapter affiliations panel, Then I can see a chapter assignment editor listing all available chapters with checkboxes for the current affiliations
- Given I am adding a chapter affiliation, When I select a new chapter and save, Then the multi-chapter membership service validates the addition does not exceed the maximum allowed chapters (5) and persists the change
- +3 more
As a As a Peer Mentor (Likeperson)
I want to access encrypted sensitive personal information (such as personal ID numbers and medical context notes) on a contact record, with explicit consent steps and full access logging
So that I can fulfill my coordination duties that require personal data while ensuring the organization meets GDPR compliance and can audit who accessed sensitive information and when
- Given I am on the contact detail screen, When I view a field containing encrypted personal data, Then the field displays a masked placeholder value and a lock icon instead of the raw data
- Given I tap an encrypted field, When the sensitive field warning dialog appears, Then it clearly states which field I am about to view and that access will be logged
- Given I confirm access to an encrypted field, When the decryption completes, Then the actual value is displayed inline for the duration of my session on that screen only
- +3 more
As a As a Coordinator
I want to scroll through a peer mentor's complete activity history directly from their contact detail screen, with filtering by date range and activity type
So that I can monitor engagement levels, identify inactive peer mentors who may need follow-up, and verify that activities have been registered correctly before submitting Bufdir reports
- Given I am on the contact detail screen, When I scroll to the activity history section, Then I see a list of activities sorted by date descending, showing activity type, date, duration, and chapter
- Given the contact has more than 20 activity records, When I scroll to the bottom of the history list, Then the next page of records loads automatically (infinite scroll pagination)
- Given I am viewing the activity history, When I tap the time window selector, Then I can choose from preset options (Last 30 days, Last 6 months, This year, Custom) and the list filters accordingly
- +3 more
As a As a Coordinator
I want to seamlessly switch between the general contact detail view and the dedicated peer mentor detail view for contacts who have the peer mentor role
So that I can access both generic contact information and peer mentor-specific information such as certification status, assigned contacts list, and mentor activity summary from a single entry point
- Given I am on the contact detail screen for a contact with the peer mentor role, When the screen loads, Then a 'Peer Mentor Profile' tab or button is visible in addition to the standard contact detail tab
- Given I tap the peer mentor profile tab, When the peer mentor detail screen loads, Then I see the peer mentor profile header showing name, photo placeholder, and current certification status badge
- Given the peer mentor's certification expires within 30 days, When the peer mentor detail view loads, Then a certification alert banner is displayed at the top with the expiry date and a prompt to renew
- +3 more
As a As a Coordinator
I want to view and modify which chapters a peer mentor is affiliated with, including adding or removing chapter memberships
So that I can correctly reflect a peer mentor's organizational scope and ensure their activities are attributed to the right chapters without creating duplicate reporting
- Given I am on the contact detail screen, When the contact belongs to 3 chapters, Then 3 affiliation chips are displayed, each showing the chapter name and a distinct color indicator
- Given I am in edit mode, When I tap the chapter affiliations panel, Then I can see a chapter assignment editor listing all available chapters with checkboxes for the current affiliations
- Given I am adding a chapter affiliation, When I select a new chapter and save, Then the multi-chapter membership service validates the addition does not exceed the maximum allowed chapters (5) and persists the change
- +3 more
As a As a Coordinator
I want to access encrypted sensitive personal information (such as personal ID numbers and medical context notes) on a contact record, with explicit consent steps and full access logging
So that I can fulfill my coordination duties that require personal data while ensuring the organization meets GDPR compliance and can audit who accessed sensitive information and when
- Given I am on the contact detail screen, When I view a field containing encrypted personal data, Then the field displays a masked placeholder value and a lock icon instead of the raw data
- Given I tap an encrypted field, When the sensitive field warning dialog appears, Then it clearly states which field I am about to view and that access will be logged
- Given I confirm access to an encrypted field, When the decryption completes, Then the actual value is displayed inline for the duration of my session on that screen only
- +3 more
As a As a Organization Administrator
I want to scroll through a peer mentor's complete activity history directly from their contact detail screen, with filtering by date range and activity type
So that I can monitor engagement levels, identify inactive peer mentors who may need follow-up, and verify that activities have been registered correctly before submitting Bufdir reports
- Given I am on the contact detail screen, When I scroll to the activity history section, Then I see a list of activities sorted by date descending, showing activity type, date, duration, and chapter
- Given the contact has more than 20 activity records, When I scroll to the bottom of the history list, Then the next page of records loads automatically (infinite scroll pagination)
- Given I am viewing the activity history, When I tap the time window selector, Then I can choose from preset options (Last 30 days, Last 6 months, This year, Custom) and the list filters accordingly
- +3 more
As a As a Organization Administrator
I want to seamlessly switch between the general contact detail view and the dedicated peer mentor detail view for contacts who have the peer mentor role
So that I can access both generic contact information and peer mentor-specific information such as certification status, assigned contacts list, and mentor activity summary from a single entry point
- Given I am on the contact detail screen for a contact with the peer mentor role, When the screen loads, Then a 'Peer Mentor Profile' tab or button is visible in addition to the standard contact detail tab
- Given I tap the peer mentor profile tab, When the peer mentor detail screen loads, Then I see the peer mentor profile header showing name, photo placeholder, and current certification status badge
- Given the peer mentor's certification expires within 30 days, When the peer mentor detail view loads, Then a certification alert banner is displayed at the top with the expiry date and a prompt to renew
- +3 more
As a As a Organization Administrator
I want to view and modify which chapters a peer mentor is affiliated with, including adding or removing chapter memberships
So that I can correctly reflect a peer mentor's organizational scope and ensure their activities are attributed to the right chapters without creating duplicate reporting
- Given I am on the contact detail screen, When the contact belongs to 3 chapters, Then 3 affiliation chips are displayed, each showing the chapter name and a distinct color indicator
- Given I am in edit mode, When I tap the chapter affiliations panel, Then I can see a chapter assignment editor listing all available chapters with checkboxes for the current affiliations
- Given I am adding a chapter affiliation, When I select a new chapter and save, Then the multi-chapter membership service validates the addition does not exceed the maximum allowed chapters (5) and persists the change
- +3 more
As a As a Organization Administrator
I want to access encrypted sensitive personal information (such as personal ID numbers and medical context notes) on a contact record, with explicit consent steps and full access logging
So that I can fulfill my coordination duties that require personal data while ensuring the organization meets GDPR compliance and can audit who accessed sensitive information and when
- Given I am on the contact detail screen, When I view a field containing encrypted personal data, Then the field displays a masked placeholder value and a lock icon instead of the raw data
- Given I tap an encrypted field, When the sensitive field warning dialog appears, Then it clearly states which field I am about to view and that access will be logged
- Given I confirm access to an encrypted field, When the decryption completes, Then the actual value is displayed inline for the duration of my session on that screen only
- +3 more
As a As a Peer Mentor (Likeperson)
I want to open a contact's detail screen and see their full profile including assignment status, chapter affiliations, and activity history
So that I can quickly assess a peer mentor's current engagement and workload before making decisions about new assignments
- Given I am a coordinator on the contact list screen, When I tap any contact card, Then the contact detail screen opens within 500ms showing the contact's name, role badge, and assignment status indicator
- Given I am on the contact detail screen, When the contact belongs to multiple chapters, Then multi-chapter affiliation chips are displayed horizontally scrollable below the profile header
- Given I am on the contact detail screen, When I scroll to the activity history section, Then a list of the last 20 activity registrations is displayed with date, type, and duration
- +3 more
As a As a Peer Mentor (Likeperson)
I want to edit a contact's profile information including name, phone number, address, and notes, with real-time validation feedback
So that I can keep contact records accurate and up-to-date without requiring IT support or administrator intervention
- Given I am on the contact detail screen, When I tap the edit button, Then the edit contact screen opens with all current field values pre-populated
- Given I am on the edit contact screen, When I clear a required field and tap outside it, Then a plain-language error message appears beneath that field
- Given I am editing a phone number field, When I enter an invalid Norwegian phone number format, Then the field shows an inline validation error before I attempt to save
- +3 more
As a As a Peer Mentor (Likeperson)
I want to use the contact detail and edit screens with full screen reader support, adequate touch targets, and plain-language labels on all interactive elements
So that coordinators with visual or motor impairments can fully use the contact management features without barriers, in compliance with the WCAG 2.2 AA requirements mandated by all partner organizations
- Given a coordinator uses VoiceOver (iOS) or TalkBack (Android), When they navigate the contact detail screen, Then every interactive element is announced with a meaningful semantic label including the contact's name, field values, and action buttons
- Given a coordinator uses the edit contact screen with a screen reader, When a validation error appears on a field, Then a live region announcement is triggered informing the user of the specific error without requiring them to refocus
- Given any button or tappable element on the contact detail or edit screens, When I inspect its rendered size, Then it meets the minimum 44×44 points touch target requirement
- +3 more
As a As a Coordinator
I want to open a contact's detail screen and see their full profile including assignment status, chapter affiliations, and activity history
So that I can quickly assess a peer mentor's current engagement and workload before making decisions about new assignments
- Given I am a coordinator on the contact list screen, When I tap any contact card, Then the contact detail screen opens within 500ms showing the contact's name, role badge, and assignment status indicator
- Given I am on the contact detail screen, When the contact belongs to multiple chapters, Then multi-chapter affiliation chips are displayed horizontally scrollable below the profile header
- Given I am on the contact detail screen, When I scroll to the activity history section, Then a list of the last 20 activity registrations is displayed with date, type, and duration
- +3 more
As a As a Coordinator
I want to edit a contact's profile information including name, phone number, address, and notes, with real-time validation feedback
So that I can keep contact records accurate and up-to-date without requiring IT support or administrator intervention
- Given I am on the contact detail screen, When I tap the edit button, Then the edit contact screen opens with all current field values pre-populated
- Given I am on the edit contact screen, When I clear a required field and tap outside it, Then a plain-language error message appears beneath that field
- Given I am editing a phone number field, When I enter an invalid Norwegian phone number format, Then the field shows an inline validation error before I attempt to save
- +3 more
As a As a Coordinator
I want to use the contact detail and edit screens with full screen reader support, adequate touch targets, and plain-language labels on all interactive elements
So that coordinators with visual or motor impairments can fully use the contact management features without barriers, in compliance with the WCAG 2.2 AA requirements mandated by all partner organizations
- Given a coordinator uses VoiceOver (iOS) or TalkBack (Android), When they navigate the contact detail screen, Then every interactive element is announced with a meaningful semantic label including the contact's name, field values, and action buttons
- Given a coordinator uses the edit contact screen with a screen reader, When a validation error appears on a field, Then a live region announcement is triggered informing the user of the specific error without requiring them to refocus
- Given any button or tappable element on the contact detail or edit screens, When I inspect its rendered size, Then it meets the minimum 44×44 points touch target requirement
- +3 more
As a As a Organization Administrator
I want to open a contact's detail screen and see their full profile including assignment status, chapter affiliations, and activity history
So that I can quickly assess a peer mentor's current engagement and workload before making decisions about new assignments
- Given I am a coordinator on the contact list screen, When I tap any contact card, Then the contact detail screen opens within 500ms showing the contact's name, role badge, and assignment status indicator
- Given I am on the contact detail screen, When the contact belongs to multiple chapters, Then multi-chapter affiliation chips are displayed horizontally scrollable below the profile header
- Given I am on the contact detail screen, When I scroll to the activity history section, Then a list of the last 20 activity registrations is displayed with date, type, and duration
- +3 more
As a As a Organization Administrator
I want to edit a contact's profile information including name, phone number, address, and notes, with real-time validation feedback
So that I can keep contact records accurate and up-to-date without requiring IT support or administrator intervention
- Given I am on the contact detail screen, When I tap the edit button, Then the edit contact screen opens with all current field values pre-populated
- Given I am on the edit contact screen, When I clear a required field and tap outside it, Then a plain-language error message appears beneath that field
- Given I am editing a phone number field, When I enter an invalid Norwegian phone number format, Then the field shows an inline validation error before I attempt to save
- +3 more
As a As a Organization Administrator
I want to use the contact detail and edit screens with full screen reader support, adequate touch targets, and plain-language labels on all interactive elements
So that coordinators with visual or motor impairments can fully use the contact management features without barriers, in compliance with the WCAG 2.2 AA requirements mandated by all partner organizations
- Given a coordinator uses VoiceOver (iOS) or TalkBack (Android), When they navigate the contact detail screen, Then every interactive element is announced with a meaningful semantic label including the contact's name, field values, and action buttons
- Given a coordinator uses the edit contact screen with a screen reader, When a validation error appears on a field, Then a live region announcement is triggered informing the user of the specific error without requiring them to refocus
- Given any button or tappable element on the contact detail or edit screens, When I inspect its rendered size, Then it meets the minimum 44×44 points touch target requirement
- +3 more