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:
16
CHANGELOG.md
16
CHANGELOG.md
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Month view (S1): Material 3 Expressive card-per-day grid (only the current
|
||||
month's weeks; neighbouring days left blank), per-day event dots with "+N"
|
||||
overflow, today emphasised 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,
|
||||
separate all-day strip, midnight-spanning events clipped per day, swipe
|
||||
navigation, Loading/Failure/Success states
|
||||
- Functional view-switcher (M1) cycling Month ↔ Week (Day joins with S3)
|
||||
- Shared calendar UI building blocks in `ui/common/` (navigation drawer,
|
||||
failure screen, view-switcher pill, color pastelizer, observable locale)
|
||||
|
||||
### Removed
|
||||
- Throwaway debug screen — superseded by the month view
|
||||
|
||||
## [0.2.1] — 2026-06-09
|
||||
|
||||
### Changed
|
||||
|
||||
Reference in New Issue
Block a user