screen-locker/stronglift_replacement/workout_app/lib
Krzysztof kuhy Rudnicki 38e8364306 Split history_screen.dart (897) into four part files
history_screen.dart          the State: load, pick, build
  history_screen_charts.dart   picker, stats card, streak row, chart widget
  history_screen_painter.dart  the CustomPainter
  history_screen_tiles.dart    the three session tiles
  history_screen_data.dart     pure transforms over the loaded rows

`part` files rather than separate libraries, for two reasons. Dart privacy is
library-scoped, so these `_`-prefixed widgets cannot be imported across a
library boundary -- making them public would be a real API change and
public_member_api_docs would then demand docs for every one. And a `part` does
not get its own SF: entry in lcov, so the coverage gate's "every lib file must
appear" guard has nothing new to miss.

The data helpers become top-level functions taking `rows` explicitly, since
they only ever read it -- which is also what let them leave the State class.

402 Dart tests still pass; flutter coverage still 100% (2717/2717);
dart analyze clean under very_good_analysis.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EveB813BQ8abAP68VSqZ5Y
2026-08-15 21:06:09 +02:00
..
models Add sync-status card and duration-threshold fixture 2026-08-15 18:41:31 +02:00
screens Split history_screen.dart (897) into four part files 2026-08-15 21:06:09 +02:00
services Add sync-status card and duration-threshold fixture 2026-08-15 18:41:31 +02:00
ui workout_app: warm-tint the unified-design-system palette 2026-07-22 21:08:45 +02:00
widgets Add sync-status card and duration-threshold fixture 2026-08-15 18:41:31 +02:00
main.dart Carry progression through Firebase, and stop demanding storage permission 2026-08-10 16:54:21 +02:00