Override Default Values for a Single Activity Registration
When the wizard pre-fills fields with stored defaults, users can edit any field within the standard wizard flow to override values for the current registration only. The Default Values Widget within the wizard presents an explicit 'Use Once' vs 'Save as Default' choice whenever a user modifies a pre-filled field, making the distinction clear and preventing accidental permanent changes. The Activity Registration Service treats per-registration overrides as ephemeral — they are written to the activity record but do not update the stored defaults in Supabase. This supports scenarios such as: registering a 2-hour activity when the default is 30 minutes, selecting a different activity type for a one-off session, or logging an activity from a previous day when the default is today's date.
User Story
Acceptance Criteria
- Given the wizard launches with pre-filled default values, when the user edits any field, then a visual indicator distinguishes the overridden field from the remaining default-filled fields
- Given the user edits a pre-filled field, when they complete the wizard and confirm submission, then the activity is saved with the overridden value and the stored default in Supabase remains unchanged
- Given the user edits a pre-filled field and the Default Values Widget offers 'Use Once' vs 'Save as Default', when the user selects 'Use Once', then only the current registration uses the new value
- Given the user edits a pre-filled field and selects 'Save as Default', when the activity is submitted, then both the activity record and the stored default in Supabase are updated with the new value
- Given the user overrides the date to a past date, when the Activity Validation Service evaluates the entry, then the past date is accepted as valid (peer mentors register activities after they occur)
Business Value
The ability to override defaults without losing them is essential for the wizard to remain useful across variable real-world scenarios. Without this distinction, users would either stick rigidly to defaults (causing data inaccuracies) or avoid defaults altogether (losing the time savings). Providing a clear 'Use Once' option prevents the most common UX failure mode — users accidentally updating stored defaults when they only intended a one-time change — which would cause future registrations to pre-fill incorrectly.
Components
- Default Values Widget ui
- Activity Wizard Screen ui
- Activity Registration Service service
- Activity Validation Service service