User Interface medium complexity mobile
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Structured edit flow screen that presents validated field widgets for updating a contact's information, enforcing data quality at input time. Changes are dispatched to ContactBloc for optimistic persistence to the local Drift database and queued for synchronisation. The screen handles rollback feedback when a sync failure occurs after optimistic application.

Feature: Contact Detail & Edit

edit-contact-screen

Sources & reasoning

Line 292 explicitly names contact detail and edit as core mobile screens in the MVP architecture section. Line 304 details the optimistic mutation pattern specifically required for contact edits. Both sit in the Mobile App Architecture block describing the MVP scope. The Phase 1 roadmap (line 321) lists contact list and overview as MVP deliverables, making detail and edit an implicit prerequisite.

  • docs/source/likeperson.md · line 292
    - Contact detail, edit, and peer mentor profile screens
  • docs/source/likeperson.md · line 304
    - Optimistic mutations with automatic rollback on failure (contact edits and paginated list updates)

Responsibilities

  • Render validated form widgets for all editable contact fields with inline validation feedback
  • Dispatch save events to ContactBloc and reflect optimistic update state immediately
  • Display rollback notifications when sync to REST API fails and local changes are reverted
  • Manage form dirty state and prompt the user before discarding unsaved changes
  • Support structured caregiver section editing within the same form flow

Interfaces

build(BuildContext): Widget
onSavePressed(contactForm: ContactForm): void
onDiscardPressed(): void
showRollbackBanner(reason: String): void

Related Data Entities (2)

Data entities managed by this component