todo-app/TODO-fit-to-screen-layout.md
Krzysztof kuhy Rudnicki 377ec17356
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file-length / file length <= 250 lines (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
release-apk / release (APK) (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Design audit closed: 6px gaps → 8 on the 4/8 grid; track fit-to-screen TODO
Filter-sheet tests now scroll Apply into view (tapApply): the sheet is
scrollable and Apply legitimately sits below the fold on a 600px viewport.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 09:18:40 +01:00

28 lines
1.5 KiB
Markdown

# Fit every main screen on one phone screen
## what
Todo's main screen is the notes list (ListView.separated). Convert it to a dense note-tile grid that fits the screen, paged by swipe.
## where
/home/kuhy/src/todo; screens to convert:
- lib/ui/notes_list_screen.dart: Notes — ListView.separated of notes -> 2-column title tiles with priority/status color, filter chips, paged; body/meta in long-press sheet (note_actions_sheet.dart)
Exempt: note editor and capture form (free-text editor), settings, GitHub mirror and cloud-image settings (settings)
## must
- no vertical scrolling on converted screens at 1080x2400 with status bar + nav inset
- secondary metadata/actions behind long-press or a tap sheet, not dropped
- must not: change data/sync/storage code
- optional: reuse `FitGrid` from ~/src/utils/design_system (first tag after design_system-v0.2.1); bump the app's design_system pin to that tag
## done
A widget test per converted screen at Pixel 6a geometry (`physicalSize = Size(1080, 2400)`, `devicePixelRatio = 2.625`, `padding = FakeViewPadding(top: 132, bottom: 63)`, real nav bar + mini-player/bottom chrome pumped) asserts no vertical Scrollable has maxScrollExtent > 0 and the primary actions are hit-testable; `flutter test --reporter=compact` exits 0.
## verify
Pixel 6a 23181JEGR08034, release build via ~/.claude/scripts/phone_deploy.sh, screenshot from phone_vd.sh per converted screen.
## read first
- ~/.claude/skills/build-mobile-app/SKILL.md (R7)
- ~/src/tunedeck Home tab implementation (reference pattern)
REMOVE ME AFTER FINISH