todo-app/lib/ui
Krzysztof kuhy Rudnicki f4272d01b9
Some checks are pending
file-length / file length <= 250 lines (push) Waiting to run
release-apk / release (APK) (push) Waiting to run
Route todo's snackbars through the shared showToast/showError
The package shipped feedback helpers while todo still had a private
_showSnack and a raw SnackBar in note_editor -- exactly the duplication
the extraction was meant to end, left live in a repo that had just
adopted the package.

Two deliberate behaviour changes come with it: the duration goes 2s ->
3s for toasts and 5s for errors (an error the user missed is an error
they will hit again), and messages now replace rather than queue, since
a queued snackbar describes an action the user moved on from seconds
ago. No test asserted on either, and the one snackbar assertion in the
suite checks that capture is *not* interrupted by one, which still holds.

Failures now read as failures: the mode-switch rejection in note_editor
and a failed sync in capture_screen use showError, while a successful
sync and the not-configured hint stay neutral toasts. Spending the danger
hue on routine confirmations is how a real failure becomes invisible.

Verified: flutter analyze clean, 308 tests pass at 100% coverage
(1964/1964). The release APK built and installed, but on-device
re-verification could not complete: the 23:00 night curfew removed the
package ~80ms after install, because dev.kuhy.todo is in the focus-mode
day WHITELIST but not NIGHT_WHITELIST. Enforcer working as designed, not
an app fault -- reverify after 05:00.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XS1m7b1piBtAL22USLW6jL
2026-08-14 23:09:24 +02:00
..
capture_app_bar.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
capture_draft.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_screen_sync.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
capture_screen_widget.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_screen.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
capture_status_footer.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_status.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_sync_runner.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
device_code_dialog.dart Split the last three oversized lib/bin files 2026-08-14 16:29:35 +02:00
github_mirror_screen_widget.dart Split the last three oversized lib/bin files 2026-08-14 16:29:35 +02:00
github_mirror_screen.dart Split the last three oversized lib/bin files 2026-08-14 16:29:35 +02:00
markdown_view.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_actions_sheet.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_date_range_field.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
note_detail_screen.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_editor_chrome.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_document.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_mode.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_raw_field.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_editor_step_page.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_views.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_widget.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_wizard.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
note_form_chrome_gate.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_form.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_meta_row.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_tile.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
notes_filter_sheet.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
notes_list_navigation.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
notes_list_screen.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
settings_screen.dart Migrate Sync settings to the shared sync_settings_ui package 2026-08-12 23:25:16 +02:00