Peer Mentor Selects Activity Type During Registration
The activity type selection screen is the first step in the activity registration bottom sheet. It must present only the active activity types configured for the user's organization, displayed with clear names and icons resolved by the metadata resolver. Selecting a type pre-loads its default values (duration, associated expense flags) into the registration wizard state managed by the activity registration cubit, ensuring subsequent steps require minimal input. The screen must be fast to load via the cache provider and accessible via screen reader.
User Story
Acceptance Criteria
- Given a peer mentor opens the activity registration flow, When the activity type selection screen loads, Then only active activity types for their organization are displayed
- Given the selection screen is displayed, When it loads, Then it uses the cache provider so the list appears without network latency on repeat visits
- Given I select an activity type with a configured default duration, When the duration step loads, Then the default duration is pre-filled
- Given the organization uses custom labels, When the selection screen displays activity type names, Then names reflect the organization's terminology
- Given a peer mentor uses a screen reader, When the activity type selection screen is presented, Then each type is properly labeled with accessible semantics and focus order is logical
- Given there are more than 8 activity types, When the selection screen renders, Then the list is scrollable and search or filtering is available to narrow options quickly
Business Value
The activity type selection step is the gateway to every activity registration. Poor performance, wrong options, or confusing labels here directly cause underreporting—the most critical problem identified across all three workshops. HLF's example of a peer mentor with 380 annual registrations demonstrates the scale of use; even a one-second improvement per registration saves hours annually per active peer mentor. Pre-filling defaults from activity type configuration is one of the highest-leverage optimizations available.
Components
- Activity Type Selection Screen ui
- Activity Type Selection Step ui
- Activity Type Service service
- Activity Type Metadata Resolver service
- Activity Type Cache Provider data
- Organization Labels Provider infrastructure
- Activity Registration Cubit service
- Activity Registration Bottom Sheet ui