mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-10 20:27:13 +01:00
Last of the ten. The ~190-line `build()` was the bulk, so it became five private StatelessWidgets rather than list-building methods, per the note in the todo that a previous attempt to slice them out as a raw widget-list getter produced unbalanced brackets. settings_screen.dart 211 state, lifecycle, setState paths settings_screen_sections.dart 190 SYNC, OFFLINE BACKUP, app bar settings_screen_exercise_sections.dart 161 WEIGHTS, TARGET REPS, THRESHOLDS settings_screen_widget.dart 89 the public widget + 11 seams settings_screen_actions.dart 86 setState-free actions Every conditional in the new widgets is the one `build()` already had, in the same shape: no defaulted parameters, no `??` fallbacks, no convenience null checks. That was deliberate — the earlier workout_screen pass showed a single added `if (x == null) return` guard is enough to drop the 100% gate, because it is a line no existing test reaches. `_openSyncSettings` split the way `_finishWorkout` did: the navigation half is setState-free and moved to the actions extension, the post-return progression pull keeps the setState and stays on the class. `bash ~/utils/scripts/check_file_length.sh --all` now exits 0. 402 tests pass with a byte-identical name set, dart analyze clean, coverage 100% (2765/2765). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EveB813BQ8abAP68VSqZ5Y |
||
|---|---|---|
| .. | ||
| workout_app | ||
| design.md | ||
| dfesign_v2.md | ||