ContactListScreen
Component Detail
User Interface
medium complexity
mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
The primary screen displaying a scrollable list of contacts scoped to the authenticated user's role. Peer mentors see only their own contacts while coordinators see all association-level contacts. Renders offline-cached data from the Drift local database when connectivity is unavailable.
contact-list-screen
Sources & reasoning
Priority matrix (line 162) marks contact search MUST in Phase 1 across all four organizations. MVP scope narrative (line 320) lists contact list as Phase 1. Architecture section (line 291) confirms role-specific list views. Phase 1 in source docs maps to MVP by ordinal position (Fase 1 = first deliverable phase = MVP).
-
docs/source/likeperson.md · line 162Basic search (contact og notater) | ✓ | ✓ | ✓ | ✓ | ✓ | MUST | 1
-
docs/source/likeperson.md · line 320Kontaktliste og likepersonsoversikt
-
docs/source/likeperson.md · line 291Contacts list with role-specific views
Responsibilities
- Render role-scoped contact list from local Drift database
- Display Organisation Labels terminology per tenant configuration
- Handle offline state gracefully with cached data
- Meet WCAG 2.2 AA touch target and contrast requirements with semantic VoiceOver/TalkBack labels
- Coordinate with ContactSearchWidget to filter displayed contacts
Interfaces
loadContacts(userId: string, role: UserRole): Observable<Contact[]>
applyFilter(query: string): void
onContactTap(contactId: string): void