Activity Wizard UI
Component Detail
Description
Flutter multi-screen wizard flow that guides the peer mentor through sequential steps: contact selection, date, time, duration, and narrative summary. Each step occupies its own screen with Next/Back navigation and inline validation feedback, reducing cognitive load per NHF accessibility requirements.
activity-wizard-ui
Sources & reasoning
The wizard requires a dedicated multi-screen UI because the feature's core value is breaking complex activity registration into one decision per screen. The WCAG reduced-motion and accessibility requirements mandate explicit Flutter implementation choices at the widget level, justifying a separate UI component from the Quick Log Screen.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Render one wizard step per screen with step-progress indicator
- Present contact selection with offline-capable search of the local Drift contacts cache
- Enforce WCAG 2.2 AA: touch targets ≥24 px, visible focus indicators, reduced-motion transitions via MediaQuery.platformDispatcher.accessibilityFeatures
- Expose Back navigation that restores prior step state without data loss
- Surface per-field validation errors with actionable resolution text
Interfaces
WizardStepScreen(stepIndex, onNext(), onBack())
ContactPickerStep(onContactSelected(contact))
DateTimeStepScreen(onDateTimeConfirmed(DateTime))
DurationStepScreen(onDurationSelected(Duration))
SummaryStepScreen(narrativeController, onSubmit())
Relationships
Dependencies (2)
Components this component depends on
Related Data Entities (4)
Data entities managed by this component