todo-app/lib
Krzysztof kuhy Rudnicki d4c8162e0e Split capture_screen.dart into ten files under the cap
739 -> 249 lines. As with note_editor, the ~600-line State class needed
decomposing rather than moving:

  capture_draft.dart         the note being captured and its write-through
                             to storage -- the model behind "every keystroke
                             is already persisted". Lazy row creation stays
                             here; the screen just logs that it happened.
  capture_sync_runner.dart   one sync pass, with no BuildContext. This also
                             de-duplicates the two callers: the manual button
                             and the background tick ran byte-identical
                             runSync blocks differing only in the snackbar
                             and the 'auto' log flag.
  capture_status.dart        SyncStatusStore (the persisted last outcome) and
                             describeSyncResult.
  capture_app_bar.dart       the app bar.
  capture_meta_row.dart      the priority/status pickers.
  capture_status_footer.dart the two status lines.
  capture_screen_{widget,sync}.dart
                             parts, for the same reason as note_editor's.

The mounted checks are preserved exactly, including the one in
SyncStatusStore.restore that must fire AFTER its await rather than before
(writing the notifier post-dispose is the bug it exists to prevent), which
is why it takes a stillLive callback instead of a bool.

Verified: 313 tests pass, analyze clean, every capture file at 100%
coverage. lib/ and bin/ are now down to three files over the cap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 16:25:51 +02:00
..
analytics Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00
data Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
desktop Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
sync Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
ui Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
frame_stats_io.dart Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
frame_stats_web.dart Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
frame_stats.dart Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
main.dart Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00