Completed Preparation Ready State Plan
Goal
Make the alarm UI clearly show a ready/on-time state when all preparation steps are complete but the user still has time before the leave threshold.
Context
- SRD: preparation completion and lateness are separate concerns.
- SRD: while continuing before the leave threshold, UI should communicate "ready / time remaining to leave" rather than "late".
- Current
AlarmScreen uses the last preparation step name as timerLabel when all steps are done and the user continues before the leave threshold.
- The top text does show time until leaving, but the center label can still look like the last preparation step is active.
Decisions
- Keep the completion dialog behavior: all steps done does not auto-finish.
- Keep late-continue mode once the leave threshold is crossed.
- Add an explicit ready/on-time label for the all-done, continuing, not-late state.
Steps
- Add localized copy for the ready state, for example "Ready to go" in English and the agreed Korean equivalent.
- In
AlarmScreen._buildAlarmScreen, set timerLabel to the ready label when:
preparation.isAllStepsDone
_isContinuingAfterCompletion
isLate == false
- Keep
displayRemainingSeconds based on timeRemainingBeforeLeaving in that state.
- Add/update widget tests for:
- All done + continue + before leave threshold shows ready label and leave countdown.
- All done + continue + after leave threshold shows late-continue label and overdue countdown.
Validation
- Run
flutter test test/presentation/alarm/screens/preparation_flow_widget_test.dart.
- Verify both English and Korean generated localization files are updated after ARB changes.
Open Questions
- Confirm final Korean ready-state wording.
Completed Preparation Ready State Plan
Goal
Make the alarm UI clearly show a ready/on-time state when all preparation steps are complete but the user still has time before the leave threshold.
Context
AlarmScreenuses the last preparation step name astimerLabelwhen all steps are done and the user continues before the leave threshold.Decisions
Steps
AlarmScreen._buildAlarmScreen, settimerLabelto the ready label when:preparation.isAllStepsDone_isContinuingAfterCompletionisLate == falsedisplayRemainingSecondsbased ontimeRemainingBeforeLeavingin that state.Validation
flutter test test/presentation/alarm/screens/preparation_flow_widget_test.dart.Open Questions