Registration Confirmation View
Component Detail
Description
The terminal state of the wizard that displays a strong, unambiguous visual confirmation that the activity record was saved. Designed to eliminate any doubt in the peer mentor's mind, replacing the anxiety of 'did it actually save?' with a clear success signal before the sheet dismisses.
registration-confirmation-view
Summaries
The Registration Confirmation View directly addresses a critical moment of user trust: the instant after a peer mentor submits an activity record. Without a clear success signal, users repeat submissions, contact support, or lose confidence in the platform entirely — all of which increase operational cost and reduce engagement. By delivering an unambiguous visual confirmation with a summary of exactly what was saved, this component transforms a potential anxiety point into a moment of positive reinforcement. This directly supports mentor retention and data quality, since confident users submit more consistently and accurately.
Low complexity means low cost to build and maintain, with a high return in user satisfaction and reduced duplicate-entry support tickets.
This component sits at the end of the Quick Activity Registration wizard and is a dependency-free, self-contained UI screen, making it one of the lowest-risk deliverables in the entire registration flow. Development effort is minimal — estimated at 1–2 days for implementation plus accessibility work. The auto-dismiss timer and screen reader Semantics integration (for accessibility compliance) are the only non-trivial concerns and should be verified in QA with both sighted and assistive-technology test passes. No backend or service dependencies means this can be built and tested in isolation before the rest of the wizard is complete.
Risk to delivery is low, but it must be the final piece integrated since it depends on receiving a fully saved ActivityRecord.
Registration Confirmation View is a stateless terminal UI widget that receives a fully populated ActivityRecord via its build() constructor and renders a success illustration, confirmation copy, and a summary of the saved activity (type, date, duration). It exposes three interfaces: build() for construction with data, onDismissRequested() as a callback wired to both explicit tap and auto-dismiss expiry, and startAutoDismissTimer(Duration delay) to trigger the countdown. Accessibility is a first-class concern — Semantics wrappers must announce the success state to screen readers on mount. There are zero dependencies on other components, making this trivially testable with widget tests.
The auto-dismiss timer should be cancelled in dispose() to prevent setState-after-dispose errors in Flutter.
Responsibilities
- Display a prominent success illustration and confirmation copy
- Show a summary of the saved activity (type, date, duration)
- Auto-dismiss after a short delay or on explicit tap
- Announce success state to screen readers via Semantics
Interfaces
build(ActivityRecord savedRecord)
onDismissRequested()
startAutoDismissTimer(Duration delay)