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

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.

Feature: Activity Registration Wizard

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