feat(ui): month card grid + week timeline, wire view switcher
Replace the throwaway debug screen with the first real calendar UI and a functional Month <-> Week switcher, on Material 3 Expressive. Month view (S1): - Material 3 Expressive card-per-day grid; only the current month's weeks render (neighbouring days left blank) - per-day event dots with "+N" overflow, today via primaryContainer - spring-based press feedback from the active motion scheme - swipe + drawer navigation, Loading/Failure/Success states Week view (S2): - vertical time schedule with overlap-resolved lanes (per-day clipping, midnight spanning, instant events) - all-day / multi-day events as connected horizontal spans - single scroll container (gutter + day columns stay aligned), columns bundled in a rounded container, noon-centred on load - top section colour-shifts with the app bar on scroll; swipe navigation, three states Shared / infra: - CalendarHost holds the active view; RootScreen renders it post-permission - ui/common building blocks: CalendarDrawer, CalendarFailure, ViewSwitcherPill, pastelize, observable locale, M3 Expressive slide transition (motionScheme fastSpatialSpec) - unit tests for the week layout (lanes, clipping, all-day spans) - build: compileSdk 37, material3 pinned to 1.5.0-alpha21 for Expressive Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -21,10 +21,26 @@
|
||||
<string name="permission_open_settings_button">Open system settings</string>
|
||||
<string name="permission_retry_button">Try again</string>
|
||||
|
||||
<!-- Debug screen (wegwerfbar — entfällt mit Plan 03) -->
|
||||
<string name="debug_banner">DEBUG — replaced by month view in Plan 03</string>
|
||||
<string name="debug_calendars_header">Calendars</string>
|
||||
<string name="debug_events_header">Next 50 events</string>
|
||||
<string name="debug_no_calendars">No calendars configured. Add one via DAVx5 or system settings.</string>
|
||||
<string name="debug_no_events">No upcoming events in the next 30 days.</string>
|
||||
<!-- Month view (S1) -->
|
||||
<string name="month_prev">Previous month</string>
|
||||
<string name="month_next">Next month</string>
|
||||
<string name="month_today_action">Today</string>
|
||||
<string name="month_more_actions">More actions</string>
|
||||
<string name="month_open_menu">Open menu</string>
|
||||
<string name="month_action_filter">Calendars</string>
|
||||
<string name="month_action_jump_to_date">Jump to date…</string>
|
||||
<string name="month_action_settings">Settings</string>
|
||||
<string name="month_a11y_today_prefix">Today</string>
|
||||
|
||||
<!-- Week view (S2) -->
|
||||
<string name="week_all_day">All-day</string>
|
||||
<string name="week_today_action">This week</string>
|
||||
|
||||
<!-- Shared event strings -->
|
||||
<string name="event_untitled">(No title)</string>
|
||||
|
||||
<!-- View switcher (M1) -->
|
||||
<string name="view_month">Month</string>
|
||||
<string name="view_week">Week</string>
|
||||
<string name="view_day">Day</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user