fix(edit): scrollable, grouped, pinned-header calendar picker (#29) #56

Merged
makiolaj merged 3 commits from fix/calendar-picker-scrollable into release/v2.13.0 2026-07-03 13:35:49 +00:00
Owner

Fixes Codeberg #29 — with ~20 calendars the new-event calendar picker clipped past ~9 rows, leaving the rest unreachable.

Changes

  • Scrollable full-screen picker. The calendar picker was an AlertDialog wrapping a non-scrolling Column, so the list overflowed the dialog's fixed height. Replaced it with the app's FullScreenPicker (full-bleed dialog → scrollable CollapsingScaffold).
  • Grouped by account. Calendars now render as connected GroupedRows under their owning account — the same grouping the visibility filter and calendar manager use — each with a colour chip and a check on the current selection.
  • Pinned title. Gave CollapsingScaffold a largeTopBar flag and set it false for FullScreenPicker, so pickers show their title in a pinned single-line bar from the start instead of a large collapsing header you have to scroll past. Applies to all full-screen pickers (calendar, theme, week start, language, reminder, agenda range); Settings and the calendar manager keep the large collapsing header.

Verification

  • :app:compileDebugKotlin green after merging release/v2.13.0 in.
  • On-device verified (wireless) on Pixel: long calendar lists scroll and all entries are reachable; pinned header confirmed.
Fixes Codeberg #29 — with ~20 calendars the new-event calendar picker clipped past ~9 rows, leaving the rest unreachable. ## Changes - **Scrollable full-screen picker.** The calendar picker was an `AlertDialog` wrapping a non-scrolling `Column`, so the list overflowed the dialog's fixed height. Replaced it with the app's `FullScreenPicker` (full-bleed dialog → scrollable `CollapsingScaffold`). - **Grouped by account.** Calendars now render as connected `GroupedRow`s under their owning account — the same grouping the visibility filter and calendar manager use — each with a colour chip and a check on the current selection. - **Pinned title.** Gave `CollapsingScaffold` a `largeTopBar` flag and set it false for `FullScreenPicker`, so pickers show their title in a pinned single-line bar from the start instead of a large collapsing header you have to scroll past. Applies to all full-screen pickers (calendar, theme, week start, language, reminder, agenda range); Settings and the calendar manager keep the large collapsing header. ## Verification - `:app:compileDebugKotlin` green after merging `release/v2.13.0` in. - On-device verified (wireless) on Pixel: long calendar lists scroll and all entries are reachable; pinned header confirmed.
makiolaj added 3 commits 2026-07-03 13:24:42 +00:00
The calendar picker was an AlertDialog holding a non-scrolling Column, so
accounts with many calendars overflowed the dialog's fixed height and the
entries past ~9 were unreachable (Codeberg #29).

Replace it with the app's FullScreenPicker (collapsing scaffold + scrollable
content), rendering calendars as connected GroupedRows grouped under their
owning account — the same grouping the visibility filter and calendar manager
use — with a colour chip per row and a check on the current selection.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Full-screen selection pickers opened with the LargeTopAppBar expanded, so the
title started below the bar and only settled into it after a scroll — a tall
empty header above a short option list. Give CollapsingScaffold a largeTopBar
flag and have FullScreenPicker use a pinned single-line TopAppBar, so every
picker (calendar, theme, week start, language, reminder, agenda range) shows
its title in the bar from the start. Settings and the calendar manager keep
the large collapsing header.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merge remote-tracking branch 'origin/release/v2.13.0' into fix/calendar-picker-scrollable
All checks were successful
CI / ci (pull_request) Successful in 5m16s
c8a4f90404
makiolaj merged commit 5e470baf4e into release/v2.13.0 2026-07-03 13:35:49 +00:00
makiolaj deleted branch fix/calendar-picker-scrollable 2026-07-03 13:35:49 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: makiolaj/calendula#56