Testing feedback:
- calendars are now one flat, drag-reorderable list (no per-source grouping);
order is device-local (CalendarStore.calendarOrder, mirrors the web cal_order).
Reordering is done via a 'Sort' toggle (native edit mode with drag handles).
- banish + reminder-mute moved from row swipe actions to a long-press context
menu, which frees the horizontal swipe: swiping the drawer left closes it.
- the hamburger moved to the LEFT (drawer opens left); new device-local setting
'Hide menu button' (open via edge-swipe only), not synced.
- the settings entry moved from the footer into the header as an icon, next to a
restored manual-sync icon and the close button; the footer button is gone.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
listRowBackground(.clear) so only the two bordered button pills show, without
the surrounding grouped-list capsule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Testing feedback:
- show-all / hide-all are now side by side (bordered), not two big stacked rows
- the busy quick-access strip becomes a single "Einstellungen" button that
opens the full menu (which already holds accounts/profile/groups/server/sync/
logout)
- extra horizontal + bottom padding so the footer button is not clipped by the
iPhone's rounded corners / home indicator
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the top-bar menu popup with an off-canvas left drawer, opened by the
hamburger or a narrow left-edge swipe (kept off the content area so month/week
swipe stay free). The drawer hosts the calendar visibility list, a view
switcher, group switching, and quick access to Settings/Accounts/Profile/
Groups/Server plus sync and logout.
- extract the filter list into reusable CalendarFilterContent (shared by the
drawer and the still-present CalendarFilterSheet); the sheet is now a thin
wrapper
- new CalendarDrawer view; CalendarHostView hosts it as a ZStack overlay with a
scrim and edge-swipe gesture, and presents drawer destinations as sheets
- opt-in surface colour: surfaceColor (device-local) tints the flat top bar;
empty keeps the translucent .bar material. Settings row with an Auto reset.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>