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>