User Interface medium complexity mobile
3
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Main screen displaying a scrollable, role-filtered list of contacts assigned to the current user. Uses ListView.builder for efficient rendering and adapts visible data and available actions based on whether the user is a peer mentor or coordinator. Reads reactive data from the Contacts Service Riverpod provider and displays empty-state, loading, and error feedback.

Feature: Contact List & Search

contacts-list-screen

Responsibilities

  • Render contact list with ListView.builder, adapting columns and actions to peer mentor vs coordinator role
  • Forward search query changes to the Contacts Service provider for reactive filtering
  • Display empty state, loading skeleton, and error feedback for the contact list
  • Navigate to Contact Detail Screen on item tap
  • Support pagination or offset-based lazy loading for coordinators managing large contact sets

Interfaces

ContactsListScreen()
onContactTap(contactId: String)
onSearchChanged(query: String)

Relationships

Dependencies (3)

Components this component depends on

Related Data Entities (1)

Data entities managed by this component