todo-app/lib/ui
Krzysztof kuhy Rudnicki 85a45daaee
Some checks are pending
file-length / file length <= 250 lines (push) Waiting to run
release-apk / release (APK) (push) Waiting to run
Share one note form between capture and the detail screen
Editing an existing note looked nothing like capturing a new one: it
always showed the template dropdown, the View/Guided/Raw pills and the
priority/status row. The cause was one missing argument -- both screens
already embedded the same NoteEditor, but NoteDetailScreen never passed
advancedMode, which defaults to true in the widget while the app-wide
AppSettings.advancedMode defaults to false.

Extract the shared form as three single-purpose components rather than
one widget owning several jobs:

- note_meta_row.dart renders the priority/status row (was
  capture_meta_row.dart; drops the private _MetaDropdown duplicate the
  detail screen carried, which used DropdownButtonFormField where the
  shared one uses DropdownButton).
- note_form_chrome_gate.dart owns chrome visibility and nothing else,
  replacing the _chromeVisible flag both screens copy-pasted.
- note_form.dart composes those two with NoteEditor.

appSettings is now a required parameter through NotesListScreen and
NoteDetailScreen. Required, not defaulted: a silent default is exactly
what caused this, so it must not be reintroducible.

Also in the capture app bar: drop the decorative Icons.list_alt_outlined
beside the note count, since the adjacent Icons.list button already names
what is counted, and move the count to the right of that button. The
finalize-and-clear action becomes Icons.check instead of Icons.add -- it
never saved anything (every keystroke is already persisted), so a plus
sign misdescribed it.

314 tests, 100% line coverage. Verified in a running web build that edit
and capture render identically with advanced mode both off and on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 17:48:39 +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 Share one note form between capture and the detail screen 2026-08-14 17:48:39 +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 Share one note form between capture and the detail screen 2026-08-14 17:48:39 +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
confirm.dart Confirm before deleting a note 2026-07-30 16:31:15 +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 warm-tint the unified-design-system palette, fix design audit violations 2026-07-22 18:56:45 +02:00
note_actions_sheet.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +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 Share one note form between capture and the detail screen 2026-08-14 17:48:39 +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 Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +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 Fix three gate defects found reviewing the cap refactor 2026-08-14 17:13:31 +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
theme.dart theme.dart: define secondary/tertiary ColorScheme roles 2026-07-22 19:42:57 +02:00