User Interface high complexity mobile
0
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Multi-step wizard screen managing the full activity registration flow: contact selection, date, time, duration, and summary. Implements BLoC pattern for step state management and GoRouter nested navigation within StatefulShellRoute to preserve back-stack correctly. Validates each step before advancing and supports partial saves so an interrupted registration can be resumed.

Feature: Activity Logging Wizard

activity-wizard-screen

Responsibilities

  • Orchestrate multi-step wizard navigation and state via BLoC
  • Validate each step before advancing to the next
  • Support partial saves for interrupted registrations
  • Pre-fill fields with user default values on wizard launch

Interfaces

build(context)
onNextStep(stepData)
onPreviousStep()
onStepValidated(stepIndex, isValid)
onWizardCompleted(activityData)
onWizardCancelled()
loadDefaults()
resumePartialRegistration(draftId)
showStepProgressIndicator(currentStep, totalSteps)

Sub-Components (3)

Contact Selection Step
component low

Wizard step for selecting the contact/peer mentor associated with the activity, with search and recent contacts shortcut.

  • Render searchable contact list
  • Pre-select most recent contact as default
  • Emit selected contact to wizard BLoC
Date, Time & Duration Step
component medium

Wizard step for entering activity date, start time, and duration. Pre-fills today's date and 30-minute default duration from user preferences. Uses accessible date/time pickers meeting WCAG 2.2 AA tap targets.

  • Render accessible date, time, and duration pickers
  • Apply stored default values (today's date, 30 min)
  • Validate date/time range and duration before advancing
Activity Summary Input Step
component medium

Wizard step for entering a brief free-text or speech-to-text summary of the activity. Supports optional structured fields for organizations requiring a formal report structure (health status, course interest, next steps).

  • Render summary text input with optional structured fields
  • Support speech-to-text integration hook
  • Validate summary before wizard completion

Related Data Entities (3)

Data entities managed by this component