From 5f07adef2f437eccc3f231edcbb393d944f4d640 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Thu, 1 Oct 2026 16:21:11 +0200 Subject: [PATCH] Release v2.22.0 (#355) Views: navigation, transitions and split-view behaviour. See CHANGELOG.md for the full list. Co-authored-by: Jean-Luc Makiola Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/355 --- .forgejo/ISSUE_TEMPLATE/bug_report.md | 4 +- .forgejo/ISSUE_TEMPLATE/config.yml | 4 +- .forgejo/ISSUE_TEMPLATE/crash_report.md | 6 +- .forgejo/ISSUE_TEMPLATE/feature_request.md | 2 +- .forgejo/PULL_REQUEST_TEMPLATE.md | 6 +- .forgejo/workflows/ci.yaml | 13 + CHANGELOG.md | 43 + CONTRIBUTING.md | 58 +- README.md | 217 +-- app/build.gradle.kts | 4 +- .../jeanlucmakiola/calendula/MainActivity.kt | 3 + .../data/calendar/CalendarDataSource.kt | 7 + .../data/calendar/EventWriteMapper.kt | 6 +- .../calendula/data/prefs/SettingsPrefs.kt | 53 +- .../data/reminders/ReminderNotifier.kt | 1 + .../data/reminders/ReminderTimeText.kt | 26 +- .../calendula/domain/EventDisplayOrder.kt | 18 + .../calendula/ui/CalendarHost.kt | 284 +++- .../calendula/ui/agenda/AgendaScreen.kt | 286 ++-- .../calendula/ui/agenda/AgendaUiState.kt | 7 +- .../calendula/ui/calendars/BackupScreen.kt | 2 + .../calendula/ui/calendars/CalendarsScreen.kt | 4 + .../calendula/ui/common/BlockPlacement.kt | 136 +- .../calendula/ui/common/CalendarChrome.kt | 161 ++ .../calendula/ui/common/CalendarDrawer.kt | 2 +- .../calendula/ui/common/CalendarPager.kt | 57 + .../calendula/ui/common/CalendarSwipe.kt | 79 - .../ui/common/CalendarTitleButton.kt | 57 +- .../ui/common/CalendarTransitions.kt | 75 +- .../calendula/ui/common/CalendarView.kt | 55 +- .../calendula/ui/common/HourGrid.kt | 9 +- .../calendula/ui/common/OutOfViewEdges.kt | 328 ++++ .../calendula/ui/common/PageStateCache.kt | 53 + .../calendula/ui/common/TimelineDrag.kt | 11 +- .../calendula/ui/common/TimelineHours.kt | 58 + .../calendula/ui/common/TimelineScale.kt | 21 + .../calendula/ui/common/TimelineScroll.kt | 111 ++ .../calendula/ui/common/TimelineZoom.kt | 49 +- .../calendula/ui/common/TodayAction.kt | 5 +- .../calendula/ui/common/ViewFocus.kt | 49 + .../calendula/ui/common/ViewMorph.kt | 177 +++ .../calendula/ui/common/ViewSwitcherPill.kt | 23 +- .../calendula/ui/day/DayPaging.kt | 22 + .../calendula/ui/day/DayScreen.kt | 903 ----------- .../calendula/ui/day/DayUiState.kt | 25 - .../calendula/ui/day/DayViewModel.kt | 110 -- .../calendula/ui/day/DayViewPreview.kt | 63 - .../calendula/ui/detail/EventDetailScreen.kt | 3 +- .../calendula/ui/edit/EventEditScreen.kt | 75 +- .../calendula/ui/edit/EventEditViewModel.kt | 32 +- .../calendula/ui/imports/ImportScreen.kt | 3 +- .../calendula/ui/licences/LicencesScreen.kt | 3 +- .../calendula/ui/month/MonthScreen.kt | 1277 +++++++++------ .../calendula/ui/month/MonthViewModel.kt | 127 +- .../calendula/ui/onboarding/ViewStep.kt | 13 +- .../calendula/ui/search/SearchScreen.kt | 3 +- .../ui/settings/AppearanceSettings.kt | 2 + .../ui/settings/EventFormSettings.kt | 2 + .../ui/settings/NotificationSettings.kt | 2 + .../calendula/ui/settings/SettingsScreen.kt | 42 +- .../calendula/ui/settings/SettingsUiState.kt | 4 + .../ui/settings/SettingsViewModel.kt | 30 +- .../ui/settings/SpecialDatesSettings.kt | 2 + .../calendula/ui/settings/ViewsSettings.kt | 114 +- .../calendula/ui/settings/WidgetSettings.kt | 2 + .../calendula/ui/week/ColumnGeometry.kt | 169 ++ .../calendula/ui/week/TimelineMorph.kt | 32 + .../calendula/ui/week/WeekPaging.kt | 107 ++ .../calendula/ui/week/WeekScreen.kt | 1409 ++++++++++++----- .../calendula/ui/week/WeekViewModel.kt | 197 ++- .../calendula/ui/week/WeekViewPreview.kt | 12 +- app/src/main/res/values/strings.xml | 32 +- app/src/main/res/xml/locales_config.xml | 1 + .../data/calendar/EventWriteMapperTest.kt | 17 +- .../calendula/data/prefs/SettingsPrefsTest.kt | 44 +- .../data/reminders/ReminderTimeTextTest.kt | 57 +- .../calendula/domain/color/EventToneTest.kt | 1 + .../ui/agenda/AgendaItemDatesTest.kt | 40 + .../ui/agenda/GroupAgendaDaysTest.kt | 10 + .../calendula/ui/common/BlockTimeRangeTest.kt | 48 + .../calendula/ui/common/OutOfViewEdgesTest.kt | 147 ++ .../calendula/ui/common/PageStateCacheTest.kt | 53 + .../calendula/ui/common/TimelineHoursTest.kt | 115 ++ .../calendula/ui/common/ViewBackStackTest.kt | 8 + .../calendula/ui/common/ViewMorphKeyTest.kt | 50 + .../calendula/ui/common/ViewScreenTest.kt | 20 + .../calendula/ui/day/DayPagingTest.kt | 22 + .../ui/edit/EventEditViewModelTest.kt | 67 + .../ui/month/ContinuousMonthIndexTest.kt | 10 +- .../calendula/ui/month/MonthLayoutTest.kt | 12 + .../calendula/ui/week/ColumnGeometryTest.kt | 107 ++ .../calendula/ui/week/FocusOnPageTest.kt | 40 + .../calendula/ui/week/WeekLayoutTest.kt | 4 +- .../calendula/ui/week/WeekPagingTest.kt | 81 + design/store/raw-tablet/01-week.png | Bin 0 -> 164387 bytes design/store/raw-tablet/02-month.png | Bin 0 -> 243223 bytes design/store/raw-tablet/03-agenda.png | Bin 0 -> 149230 bytes design/store/raw-tablet/04-detail.png | Bin 0 -> 117118 bytes design/store/raw-tablet/05-recurring.png | Bin 0 -> 128994 bytes design/store/raw-tablet/06-calendars.png | Bin 0 -> 116872 bytes design/store/raw-tablet/07-dark.png | Bin 0 -> 114657 bytes design/store/raw/01-week.png | Bin 0 -> 233463 bytes design/store/raw/02-month.png | Bin 0 -> 235598 bytes design/store/raw/03-agenda.png | Bin 0 -> 232834 bytes design/store/raw/04-detail.png | Bin 0 -> 158730 bytes design/store/raw/05-recurring.png | Bin 0 -> 138567 bytes design/store/raw/06-calendars.png | Bin 0 -> 150996 bytes design/store/raw/07-dark.png | Bin 0 -> 161918 bytes docs/ARCHITECTURE.md | 38 +- docs/BUILDING.md | 14 +- docs/PRIVACY.md | 26 +- docs/README.md | 17 +- docs/RELEASING.md | 38 +- fastlane/Fastfile | 61 +- .../metadata/android/ar/changelogs/22200.txt | 10 + .../metadata/android/ar/full_description.txt | 11 + .../metadata/android/ar/short_description.txt | 1 + fastlane/metadata/android/ar/title.txt | 1 + .../metadata/android/be/changelogs/22200.txt | 10 + .../metadata/android/be/full_description.txt | 11 + .../metadata/android/be/short_description.txt | 1 + fastlane/metadata/android/be/title.txt | 1 + .../android/cs-CZ/changelogs/22200.txt | 10 + .../android/cs-CZ/full_description.txt | 11 + .../android/cs-CZ/short_description.txt | 1 + fastlane/metadata/android/cs-CZ/title.txt | 1 + .../android/de-DE/changelogs/22200.txt | 10 + .../android/de-DE/full_description.txt | 26 +- .../metadata/android/de-DE/images/icon.png | Bin 15934 -> 0 bytes .../de-DE/images/phoneScreenshots/01-week.png | Bin 155308 -> 0 bytes .../images/phoneScreenshots/02-month.png | Bin 147428 -> 0 bytes .../de-DE/images/phoneScreenshots/03-day.png | Bin 98371 -> 0 bytes .../images/phoneScreenshots/04-detail.png | Bin 78783 -> 0 bytes .../images/phoneScreenshots/05-agenda.png | Bin 214798 -> 0 bytes .../images/phoneScreenshots/06-onboarding.png | Bin 202464 -> 0 bytes .../android/de-DE/short_description.txt | 2 +- .../android/en-GB/changelogs/21801.txt | 2 - .../android/en-GB/changelogs/21900.txt | 6 - .../android/en-GB/changelogs/21901.txt | 3 - .../android/en-GB/changelogs/21902.txt | 8 - .../android/en-GB/changelogs/22003.txt | 2 - .../android/en-US/changelogs/22200.txt | 10 + .../android/en-US/full_description.txt | 23 +- .../android/en-US/images/featureGraphic.png | Bin 0 -> 110445 bytes .../metadata/android/en-US/images/icon.png | Bin 15934 -> 18246 bytes .../en-US/images/phoneScreenshots/01-week.png | Bin 165855 -> 412969 bytes .../images/phoneScreenshots/02-month.png | Bin 152948 -> 211489 bytes .../images/phoneScreenshots/03-agenda.png | Bin 0 -> 288971 bytes .../en-US/images/phoneScreenshots/03-day.png | Bin 114124 -> 0 bytes .../images/phoneScreenshots/04-detail.png | Bin 78667 -> 346663 bytes .../images/phoneScreenshots/05-agenda.png | Bin 226363 -> 0 bytes .../images/phoneScreenshots/05-recurring.png | Bin 0 -> 268671 bytes .../images/phoneScreenshots/06-calendars.png | Bin 0 -> 279729 bytes .../images/phoneScreenshots/06-onboarding.png | Bin 196500 -> 0 bytes .../en-US/images/phoneScreenshots/07-dark.png | Bin 0 -> 166481 bytes .../images/tenInchScreenshots/01-week.png | Bin 0 -> 141774 bytes .../images/tenInchScreenshots/02-month.png | Bin 0 -> 416101 bytes .../images/tenInchScreenshots/03-agenda.png | Bin 0 -> 188440 bytes .../images/tenInchScreenshots/04-detail.png | Bin 0 -> 106716 bytes .../tenInchScreenshots/05-recurring.png | Bin 0 -> 207509 bytes .../tenInchScreenshots/06-calendars.png | Bin 0 -> 284344 bytes .../images/tenInchScreenshots/07-dark.png | Bin 0 -> 97876 bytes .../android/en-US/short_description.txt | 2 +- .../android/es-ES/changelogs/22200.txt | 10 + .../android/es-ES/full_description.txt | 28 +- .../metadata/android/es-ES/images/icon.png | Bin 15934 -> 0 bytes .../es-ES/images/phoneScreenshots/01-week.png | Bin 155938 -> 0 bytes .../images/phoneScreenshots/02-month.png | Bin 150108 -> 0 bytes .../es-ES/images/phoneScreenshots/03-day.png | Bin 99135 -> 0 bytes .../images/phoneScreenshots/04-detail.png | Bin 79112 -> 0 bytes .../images/phoneScreenshots/05-agenda.png | Bin 216966 -> 0 bytes .../images/phoneScreenshots/06-onboarding.png | Bin 211806 -> 0 bytes .../android/es-ES/short_description.txt | 2 +- .../android/fr-FR/changelogs/22200.txt | 10 + .../android/fr-FR/full_description.txt | 11 + .../android/fr-FR/short_description.txt | 1 + fastlane/metadata/android/fr-FR/title.txt | 1 + .../android/hu-HU/changelogs/22200.txt | 10 + .../android/hu-HU/full_description.txt | 11 + .../android/hu-HU/short_description.txt | 1 + fastlane/metadata/android/hu-HU/title.txt | 1 + .../android/it-IT/changelogs/22200.txt | 10 + .../android/it-IT/full_description.txt | 27 +- .../metadata/android/it-IT/images/icon.png | Bin 15934 -> 0 bytes .../it-IT/images/phoneScreenshots/01-week.png | Bin 157795 -> 0 bytes .../images/phoneScreenshots/02-month.png | Bin 152712 -> 0 bytes .../it-IT/images/phoneScreenshots/03-day.png | Bin 101459 -> 0 bytes .../images/phoneScreenshots/04-detail.png | Bin 77073 -> 0 bytes .../images/phoneScreenshots/05-agenda.png | Bin 215533 -> 0 bytes .../images/phoneScreenshots/06-onboarding.png | Bin 206919 -> 0 bytes .../android/it-IT/short_description.txt | 2 +- .../android/ja-JP/changelogs/22200.txt | 10 + .../android/ja-JP/full_description.txt | 11 + .../android/ja-JP/short_description.txt | 1 + fastlane/metadata/android/ja-JP/title.txt | 1 + .../metadata/android/nl/changelogs/22200.txt | 10 + .../metadata/android/nl/full_description.txt | 11 + .../metadata/android/nl/short_description.txt | 1 + fastlane/metadata/android/nl/title.txt | 1 + .../android/pl-PL/changelogs/22200.txt | 10 + .../android/pl-PL/full_description.txt | 11 + .../android/pl-PL/short_description.txt | 1 + fastlane/metadata/android/pl-PL/title.txt | 1 + .../android/pt-BR/changelogs/22200.txt | 10 + .../android/pt-BR/full_description.txt | 11 + .../android/pt-BR/short_description.txt | 1 + fastlane/metadata/android/pt-BR/title.txt | 1 + .../android/pt-PT/changelogs/22200.txt | 10 + .../android/pt-PT/full_description.txt | 11 + .../android/pt-PT/short_description.txt | 1 + fastlane/metadata/android/pt-PT/title.txt | 1 + .../android/ru-RU/changelogs/22200.txt | 10 + .../android/ru-RU/full_description.txt | 11 + .../android/ru-RU/short_description.txt | 1 + fastlane/metadata/android/ru-RU/title.txt | 1 + .../metadata/android/sk/changelogs/22200.txt | 10 + .../metadata/android/sk/full_description.txt | 11 + .../metadata/android/sk/short_description.txt | 1 + fastlane/metadata/android/sk/title.txt | 1 + .../android/zh-CN/changelogs/22200.txt | 10 + .../android/zh-CN/full_description.txt | 11 + .../android/zh-CN/short_description.txt | 1 + fastlane/metadata/android/zh-CN/title.txt | 1 + fastlane/store-locales.txt | 21 + .../de.jeanlucmakiola.calendula.yml | 2 +- floret-kit | 2 +- scripts/check_store_listing.py | 168 ++ scripts/fastlane_to_fdroid_localized.sh | 13 +- 228 files changed, 6158 insertions(+), 3055 deletions(-) create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/domain/EventDisplayOrder.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarChrome.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarPager.kt delete mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarSwipe.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdges.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/PageStateCache.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineHours.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScroll.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewFocus.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewMorph.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayPaging.kt delete mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayScreen.kt delete mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayUiState.kt delete mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewModel.kt delete mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewPreview.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometry.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/week/TimelineMorph.kt create mode 100644 app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekPaging.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaItemDatesTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/BlockTimeRangeTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdgesTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/PageStateCacheTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/TimelineHoursTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewMorphKeyTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewScreenTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/day/DayPagingTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometryTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/week/FocusOnPageTest.kt create mode 100644 app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekPagingTest.kt create mode 100644 design/store/raw-tablet/01-week.png create mode 100644 design/store/raw-tablet/02-month.png create mode 100644 design/store/raw-tablet/03-agenda.png create mode 100644 design/store/raw-tablet/04-detail.png create mode 100644 design/store/raw-tablet/05-recurring.png create mode 100644 design/store/raw-tablet/06-calendars.png create mode 100644 design/store/raw-tablet/07-dark.png create mode 100644 design/store/raw/01-week.png create mode 100644 design/store/raw/02-month.png create mode 100644 design/store/raw/03-agenda.png create mode 100644 design/store/raw/04-detail.png create mode 100644 design/store/raw/05-recurring.png create mode 100644 design/store/raw/06-calendars.png create mode 100644 design/store/raw/07-dark.png create mode 100644 fastlane/metadata/android/ar/changelogs/22200.txt create mode 100644 fastlane/metadata/android/ar/full_description.txt create mode 100644 fastlane/metadata/android/ar/short_description.txt create mode 100644 fastlane/metadata/android/ar/title.txt create mode 100644 fastlane/metadata/android/be/changelogs/22200.txt create mode 100644 fastlane/metadata/android/be/full_description.txt create mode 100644 fastlane/metadata/android/be/short_description.txt create mode 100644 fastlane/metadata/android/be/title.txt create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/22200.txt create mode 100644 fastlane/metadata/android/cs-CZ/full_description.txt create mode 100644 fastlane/metadata/android/cs-CZ/short_description.txt create mode 100644 fastlane/metadata/android/cs-CZ/title.txt create mode 100644 fastlane/metadata/android/de-DE/changelogs/22200.txt delete mode 100644 fastlane/metadata/android/de-DE/images/icon.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/01-week.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/02-month.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/03-day.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/04-detail.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/05-agenda.png delete mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/06-onboarding.png delete mode 100644 fastlane/metadata/android/en-GB/changelogs/21801.txt delete mode 100644 fastlane/metadata/android/en-GB/changelogs/21900.txt delete mode 100644 fastlane/metadata/android/en-GB/changelogs/21901.txt delete mode 100644 fastlane/metadata/android/en-GB/changelogs/21902.txt delete mode 100644 fastlane/metadata/android/en-GB/changelogs/22003.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/22200.txt create mode 100644 fastlane/metadata/android/en-US/images/featureGraphic.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/03-agenda.png delete mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/03-day.png delete mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/05-agenda.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/05-recurring.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/06-calendars.png delete mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/06-onboarding.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/07-dark.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/01-week.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/02-month.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/03-agenda.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/04-detail.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/05-recurring.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/06-calendars.png create mode 100644 fastlane/metadata/android/en-US/images/tenInchScreenshots/07-dark.png create mode 100644 fastlane/metadata/android/es-ES/changelogs/22200.txt delete mode 100644 fastlane/metadata/android/es-ES/images/icon.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/01-week.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/02-month.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/03-day.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/04-detail.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/05-agenda.png delete mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/06-onboarding.png create mode 100644 fastlane/metadata/android/fr-FR/changelogs/22200.txt create mode 100644 fastlane/metadata/android/fr-FR/full_description.txt create mode 100644 fastlane/metadata/android/fr-FR/short_description.txt create mode 100644 fastlane/metadata/android/fr-FR/title.txt create mode 100644 fastlane/metadata/android/hu-HU/changelogs/22200.txt create mode 100644 fastlane/metadata/android/hu-HU/full_description.txt create mode 100644 fastlane/metadata/android/hu-HU/short_description.txt create mode 100644 fastlane/metadata/android/hu-HU/title.txt create mode 100644 fastlane/metadata/android/it-IT/changelogs/22200.txt delete mode 100644 fastlane/metadata/android/it-IT/images/icon.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/01-week.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/02-month.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/03-day.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/04-detail.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/05-agenda.png delete mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/06-onboarding.png create mode 100644 fastlane/metadata/android/ja-JP/changelogs/22200.txt create mode 100644 fastlane/metadata/android/ja-JP/full_description.txt create mode 100644 fastlane/metadata/android/ja-JP/short_description.txt create mode 100644 fastlane/metadata/android/ja-JP/title.txt create mode 100644 fastlane/metadata/android/nl/changelogs/22200.txt create mode 100644 fastlane/metadata/android/nl/full_description.txt create mode 100644 fastlane/metadata/android/nl/short_description.txt create mode 100644 fastlane/metadata/android/nl/title.txt create mode 100644 fastlane/metadata/android/pl-PL/changelogs/22200.txt create mode 100644 fastlane/metadata/android/pl-PL/full_description.txt create mode 100644 fastlane/metadata/android/pl-PL/short_description.txt create mode 100644 fastlane/metadata/android/pl-PL/title.txt create mode 100644 fastlane/metadata/android/pt-BR/changelogs/22200.txt create mode 100644 fastlane/metadata/android/pt-BR/full_description.txt create mode 100644 fastlane/metadata/android/pt-BR/short_description.txt create mode 100644 fastlane/metadata/android/pt-BR/title.txt create mode 100644 fastlane/metadata/android/pt-PT/changelogs/22200.txt create mode 100644 fastlane/metadata/android/pt-PT/full_description.txt create mode 100644 fastlane/metadata/android/pt-PT/short_description.txt create mode 100644 fastlane/metadata/android/pt-PT/title.txt create mode 100644 fastlane/metadata/android/ru-RU/changelogs/22200.txt create mode 100644 fastlane/metadata/android/ru-RU/full_description.txt create mode 100644 fastlane/metadata/android/ru-RU/short_description.txt create mode 100644 fastlane/metadata/android/ru-RU/title.txt create mode 100644 fastlane/metadata/android/sk/changelogs/22200.txt create mode 100644 fastlane/metadata/android/sk/full_description.txt create mode 100644 fastlane/metadata/android/sk/short_description.txt create mode 100644 fastlane/metadata/android/sk/title.txt create mode 100644 fastlane/metadata/android/zh-CN/changelogs/22200.txt create mode 100644 fastlane/metadata/android/zh-CN/full_description.txt create mode 100644 fastlane/metadata/android/zh-CN/short_description.txt create mode 100644 fastlane/metadata/android/zh-CN/title.txt create mode 100644 fastlane/store-locales.txt create mode 100644 scripts/check_store_listing.py diff --git a/.forgejo/ISSUE_TEMPLATE/bug_report.md b/.forgejo/ISSUE_TEMPLATE/bug_report.md index 6a4e08a..16bac83 100644 --- a/.forgejo/ISSUE_TEMPLATE/bug_report.md +++ b/.forgejo/ISSUE_TEMPLATE/bug_report.md @@ -21,9 +21,9 @@ labels: - Calendula version: - Android version: - Device: -- Installed from: +- Installed from: - Affected calendar: - Time zone: diff --git a/.forgejo/ISSUE_TEMPLATE/config.yml b/.forgejo/ISSUE_TEMPLATE/config.yml index 2fc3df8..d0159e0 100644 --- a/.forgejo/ISSUE_TEMPLATE/config.yml +++ b/.forgejo/ISSUE_TEMPLATE/config.yml @@ -6,8 +6,8 @@ contact_links: - name: Translate Calendula url: https://weblate.dev.jeanlucmakiola.de/engage/calendula/ about: >- - Translations are managed on Weblate, not here — it owns every values-* - file, so a hand-edited translation gets overwritten on the next sync. + Translations are managed on Weblate. It owns every values-* file, so a + hand-edited translation gets overwritten on the next sync. No coding needed: pick or request a language and translate in the browser. - name: Contributing guide diff --git a/.forgejo/ISSUE_TEMPLATE/crash_report.md b/.forgejo/ISSUE_TEMPLATE/crash_report.md index 4626077..4cd9dee 100644 --- a/.forgejo/ISSUE_TEMPLATE/crash_report.md +++ b/.forgejo/ISSUE_TEMPLATE/crash_report.md @@ -1,6 +1,6 @@ --- name: Crash report -about: Report a crash. Calendula can capture this for you (Settings → Report a problem, or the prompt after a crash) — it copies the report to your clipboard and prefills this form. +about: Report a crash. Calendula can capture this for you (Settings → Report a problem, or the prompt after a crash). It copies the report to your clipboard and prefills this form. title: "Crash: " labels: - bug @@ -11,10 +11,10 @@ labels: ### What happened diff --git a/.forgejo/ISSUE_TEMPLATE/feature_request.md b/.forgejo/ISSUE_TEMPLATE/feature_request.md index 342118d..ef33df4 100644 --- a/.forgejo/ISSUE_TEMPLATE/feature_request.md +++ b/.forgejo/ISSUE_TEMPLATE/feature_request.md @@ -9,7 +9,7 @@ labels: ### What would you like Calendula to do? -### Why — what problem does it solve? +### What problem does it solve? ### Anything else diff --git a/.forgejo/PULL_REQUEST_TEMPLATE.md b/.forgejo/PULL_REQUEST_TEMPLATE.md index 48026ec..ab2714c 100644 --- a/.forgejo/PULL_REQUEST_TEMPLATE.md +++ b/.forgejo/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,7 @@ Please skim CONTRIBUTING.md if you haven't: https://codeberg.org/jlmakiola/calendula/src/branch/main/CONTRIBUTING.md Two things it's easy to get wrong: - • Features need a discussed issue first — an undiscussed feature PR may be + • Features need a discussed issue first. An undiscussed feature PR may be closed unmerged even when the code is good. • Target the release branch for your issue's milestone (milestone 2.18.0 → release/v2.18.0), not main. If you targeted main, just say so below and it @@ -17,7 +17,7 @@ Two things it's easy to get wrong: ### Why - + ### How it was tested @@ -34,7 +34,7 @@ are especially useful for UI changes. ### Checklist - [ ] There's an issue for this, and (for a feature) it got a go-ahead -- [ ] Targeting the release branch for that issue's milestone — or `main`, noted above +- [ ] Targeting the release branch for that issue's milestone (or `main`, noted above) - [ ] `./gradlew lint test assembleDebug` passes locally - [ ] No `values-*/strings.xml` touched (Weblate owns those; new English strings in `values/` are fine) - [ ] `CHANGELOG.md` updated under `## [Unreleased]`, if the change is user-visible diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml index 29ef449..bbd018a 100644 --- a/.forgejo/workflows/ci.yaml +++ b/.forgejo/workflows/ci.yaml @@ -43,6 +43,19 @@ jobs: - name: Changelog length invariant run: bash scripts/check_changelog_lengths.sh + # The whole listing goes to Play with every release; a field over its cap + # or an image Play rejects would fail that upload. + - name: Store listing invariant + run: | + if ! command -v python3 >/dev/null 2>&1; then + if command -v apt-get >/dev/null 2>&1; then + apt-get update && apt-get install -y python3 + elif command -v apk >/dev/null 2>&1; then + apk add --no-cache python3 + fi + fi + python3 scripts/check_store_listing.py + # Decide whether anything that affects the app build changed. Docs, store # metadata, licence texts and forge housekeeping don't, so those PRs skip # the SDK + Gradle work below but still report a green `ci`. diff --git a/CHANGELOG.md b/CHANGELOG.md index ad9c46b..c08fa65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +## [2.22.0] — 2026-10-01 + +### Added +- **Day, Week, and Month all page with a swipeable pager that follows your finger** instead of cutting between dates ([#131], [#336]). +- **Pages can open the split agenda.** Swipe up from a full month to reveal the compact grid and month agenda; tap a day to filter it, then swipe down to return. The transition gives haptic feedback ([#111]). +- **A multi-day view shows a configurable number of days side by side,** with today in the first column. Set the day count in Settings ([#193]). +- **A "Visible hours" setting fits a chosen range of hours to the screen** when Day, Week, or the new multi-day view opens; earlier and later hours stay a scroll away ([#322]). +- **Timeline views mark events that run outside the visible hours** with a coloured edge at the top or bottom, and keep them tappable underneath it ([#188]). +- **Week numbers open their week.** Tap a week number in the month grid to open Week at that row; Back returns to Month ([#197]). + +### Changed +- **Day, multi-day, and Week share one timeline and morph into each other** when you switch views, instead of each view rebuilding its own ([#184]). +- **The back gesture previews the view you're returning to** and springs back to the current one if you cancel the gesture ([#185]). +- **Split view opens with the month's agenda.** It starts at today in the current month; tapping a day filters the list, and the filter chip restores the full month. Swiping the list moves by day when filtered and by month otherwise ([#142]). +- **Today stands out in the month grid.** Its whole cell has a distinct background; tapping Today briefly expands that cell and nudges its neighbours aside ([#241]). +- **All-day reminders due today or tomorrow say so** instead of spelling out the date ([#308]). +- **Store listing in every app language.** Google Play and F-Droid show the description in all 16 languages the app ships, and each release publishes the Play listing from the repository ([#285]). + +### Fixed +- **Titles and locations stop growing at 255 characters.** Some CalDAV servers (Open-Xchange among them) silently truncate longer values on sync; Calendula now caps them first and shows a counter once you're close ([#331]). +- **The "Calendar" launcher alias is translatable.** The "App name" setting's alternate label was hard-coded to English regardless of the app's language ([#251]). +- **Multi-day events stay above shorter events.** Month and Week bars, Split day lists, and Agenda now place multi-day events before one-day all-day events, then timed events; declined events remain last ([#291]). +- **Editing one occurrence of a coloured Google series saves again.** Saving with "Only this event" kept you on the edit screen without saving anything ([#338]). + ## [2.21.0] — 2026-09-23 ### Added @@ -1774,3 +1800,20 @@ automatically, with zero telemetry and no internet permission. [#304]: https://codeberg.org/jlmakiola/calendula/issues/304 [#321]: https://codeberg.org/jlmakiola/calendula/issues/321 [#329]: https://codeberg.org/jlmakiola/calendula/issues/329 +[#285]: https://codeberg.org/jlmakiola/calendula/issues/285 +[#338]: https://codeberg.org/jlmakiola/calendula/issues/338 +[#111]: https://codeberg.org/jlmakiola/calendula/issues/111 +[#131]: https://codeberg.org/jlmakiola/calendula/issues/131 +[#142]: https://codeberg.org/jlmakiola/calendula/issues/142 +[#184]: https://codeberg.org/jlmakiola/calendula/issues/184 +[#185]: https://codeberg.org/jlmakiola/calendula/issues/185 +[#188]: https://codeberg.org/jlmakiola/calendula/issues/188 +[#193]: https://codeberg.org/jlmakiola/calendula/issues/193 +[#197]: https://codeberg.org/jlmakiola/calendula/issues/197 +[#241]: https://codeberg.org/jlmakiola/calendula/issues/241 +[#251]: https://codeberg.org/jlmakiola/calendula/issues/251 +[#291]: https://codeberg.org/jlmakiola/calendula/issues/291 +[#308]: https://codeberg.org/jlmakiola/calendula/issues/308 +[#322]: https://codeberg.org/jlmakiola/calendula/issues/322 +[#331]: https://codeberg.org/jlmakiola/calendula/issues/331 +[#336]: https://codeberg.org/jlmakiola/calendula/issues/336 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5948114..651401b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,13 +1,13 @@ # Contributing to Calendula Calendula is a Material 3 Expressive calendar app that lives strictly on top of -Android's `CalendarContract` — no app database, no sync stack, no network access. -That constraint shapes most review comments, so -[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) is worth skimming before you write -code. This file is the practical how. +Android's `CalendarContract`, with no app database, sync stack or network access. +That constraint shapes most review comments, so skim +[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) before you write code. This file +covers the practical side. -**[Codeberg](https://codeberg.org/jlmakiola/calendula) is the canonical home** — -issues, pull requests, releases. The self-hosted Gitea instance referenced in the +[Codeberg](https://codeberg.org/jlmakiola/calendula) is the canonical home for +issues, pull requests and releases. The self-hosted Gitea instance referenced in the release docs is build infrastructure only; there is nothing to contribute there. Be decent to the people you meet in the tracker. @@ -18,20 +18,20 @@ Be decent to the people you meet in the tracker. | Add a feature | **Open an issue first** and wait for a go-ahead | | Fix a bug | Open an issue, then a pull request | | Fix a typo, a comment, or docs | Just open the pull request | -| Add or fix a translation | **Don't** — [use Weblate](#translations) | +| Add or fix a translation | Use [Weblate](#translations), not a pull request | Features get an opinion before they get code: whether Calendula should do a thing at all is the one decision a patch can't make. A feature PR that arrives -without a discussed issue may be closed unmerged even when the code is good — +without a discussed issue may be closed unmerged even when the code is good, so please don't spend a weekend on one first. Bugs are more straightforward, but still start with an issue: it's what carries the milestone and gives the changelog something to link. Issue templates cover bug, crash, feature and question. For a crash, let the app -do the work — **Settings → Report a problem**, or the prompt shown after a crash, +do the work: *Settings → Report a problem*, or the prompt shown after a crash, captures the stack trace and prefills the form. The report contains app, Android -and device versions plus the trace; no calendar content, no personal data. +and device versions plus the trace, and no calendar content or personal data. ## Which branch to target @@ -45,20 +45,20 @@ Once your issue has a milestone, that milestone names your branch: | `2.18.0` | `release/v2.18.0` | Every milestone has a matching branch. If it's somehow missing, target `main` and -mention it in the PR — it will be retargeted. Don't pick an older release branch: +mention it in the PR, and it will be retargeted. Don't pick an older release branch: they're kept after shipping, so the newest one isn't necessarily yours. ## Translations -**Never edit a `values-*/strings.xml` file in a pull request** — German included. +**Never edit a `values-*/strings.xml` file in a pull request**, German included. Translations are owned by a self-hosted Weblate that writes to this repository directly, and a hand-edit is overwritten on the next sync. -→ **[Translate Calendula on Weblate](https://weblate.dev.jeanlucmakiola.de/engage/calendula/)** +[Translate Calendula on Weblate](https://weblate.dev.jeanlucmakiola.de/engage/calendula/) Adding a *new* English string to `values/strings.xml` is normal PR work; Weblate picks it up and offers it to translators. Partial translations are expected and -fine — missing keys are informational. Stale and orphaned keys are not, so run +fine; missing keys are informational. Stale and orphaned keys are not, so run ```sh python3 scripts/check_translations.py @@ -67,7 +67,7 @@ python3 scripts/check_translations.py before pushing. It reports those more clearly than lint's `MissingTranslation` does. -## Build & test +## Build and test ```sh git clone --recurse-submodules https://codeberg.org/jlmakiola/calendula.git @@ -77,11 +77,11 @@ The `floret-kit` submodule is a composite build compiled from source. An existing clone needs `git submodule update --init --recursive`, or nothing resolves. -- **JDK 17** — not newer; the Android Gradle Plugin requires exactly 17. Set +- **JDK 17**, not newer: the Android Gradle Plugin requires exactly 17. Set `JAVA_HOME` if your default differs. -- **Android SDK** — platform 37 (`compileSdk`) and build-tools 36.0.0, located +- **Android SDK**: platform 37 (`compileSdk`) and build-tools 36.0.0, located via `ANDROID_HOME` or a gitignored `local.properties` with `sdk.dir`. If you - go the `local.properties` route the included build needs its own copy at + go the `local.properties` route, the included build needs its own copy at `floret-kit/local.properties`; `ANDROID_HOME` covers both at once and is the easier path. @@ -109,21 +109,21 @@ These are the ones that turn into review comments. 1. **No network.** Calendula holds no `INTERNET` permission, and that's a feature rather than an oversight. Anything that would need one is a product - decision before it's a patch — the crash reporter deliberately opens a - prefilled web issue instead of posting anything itself. + decision before it's a patch. The crash reporter opens a prefilled web issue + on purpose instead of posting anything itself. 2. **The provider is the only database.** No Room, no cache, no local mirror of events. `CalendarContract` is the single source of truth, which is also why externally synced changes work for free. 3. **Don't patch UI state after a write.** A `ContentObserver` re-queries and views recompose from fresh provider state. Hand-patching a list after saving - appears to work, then quietly diverges from what the provider actually stored. + appears to work, then drifts away from what the provider stored. 4. **`domain/` has no Android imports.** Models, validation, recurrence rendering, conflict snapshots and the `.ics` codec stay pure Kotlin so they remain JVM-testable. 5. **Tests run on the JVM.** JUnit 5 + Truth + Turbine. The seams exist for you: fake the data source (`FakeCalendarDataSource`), and feed mappers plain maps through `ColumnReader` instead of cursors. Instrumented tests are a last - resort, not a default. + resort. 6. **Read before touching the subtle pipelines.** Recurring writes (UNTIL vs DURATION, exception URIs, series splits), save-conflict detection and reminder delivery (post-before-mark) follow provider-driven rules that are documented @@ -138,14 +138,14 @@ These are the ones that turn into review comments. ## UI conventions Material 3 Expressive throughout, built from the system's own tokens and -components — colour-scheme tokens rather than hardcoded colours, `ListItem` for +components: colour-scheme tokens rather than hardcoded colours, `ListItem` for settings rows. **Selection pickers are full-screen.** Every browse-style "choose one" surface uses floret-kit's `FullScreenPicker` / `OptionPicker`; one that needs a commit or extra action passes it through the picker's `actions` slot. The exception is the recurring-scope chooser (*this / this and following / all*), which stays a -compact dialog — a two- or three-option decision reads better as a popup than as +compact dialog, because a two- or three-option decision reads better as a popup than as a nearly empty screen. `AlertDialog` is for plain confirmations only, and radio- or text-list dialogs aren't used at all. @@ -154,7 +154,7 @@ Shared UI machinery lives in the `floret-kit` submodule and has changing it means a pull request against that repository plus a submodule bump here. -## Commits & pull requests +## Commits and pull requests Conventional commits, scoped to the area you touched: @@ -165,13 +165,13 @@ docs(architecture): record what the second review pass changed ``` Types in use: `feat` `fix` `docs` `refactor` `style` `chore` `ci` `build` -`revert`. Reference the issue in the subject or the body. Keep commits small — -small commits revert cleanly, which matters more here than a tidy history. +`revert`. Reference the issue in the subject or the body. Keep commits small. +Small commits revert cleanly, which matters more here than a tidy history. If your change is user-visible, add an entry under `## [Unreleased]` in [`CHANGELOG.md`](CHANGELOG.md). Match the surrounding voice: entries describe -what changed *for the person using the app*, and why, not what changed in the -code. Link the issue and add its reference at the bottom of the file. It may get +what changed *for the person using the app*, and why. Code changes don't go +there. Link the issue and add its reference at the bottom of the file. It may get reworded when the release is cut, so don't agonise over it. Please don't commit planning or design documents. Code, tests, architecture notes diff --git a/README.md b/README.md index 88157f8..a09d840 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@

Calendula

-

A modern Material 3 Expressive calendar for Android.
-Reads, writes, and reminds — on top of the system calendar, with zero network access.

+

A Material 3 Expressive calendar for Android.
+It works on top of the system calendar and has no network access.

CI @@ -26,84 +26,89 @@ Reads, writes, and reminds — on top of the system calendar, with zero network

-Week view  -Month view  -Day view  -Event detail  -Agenda view  -Reminder onboarding +Week view  +Month view  +Agenda view  +Event detail  +Editing a recurring event  +Calendars from your accounts  +Dark theme

-Calendula is named after the flower whose name — like the word *calendar* — -comes from the Latin *kalendae*, the first day of the month. It lives -entirely on top of Android's `CalendarContract`: any calendar synced to your -device (CalDAV via DAVx5, Google, local, WebCal subscriptions, …) simply -appears, and everything you create or edit syncs back the same way. No own -database, no sync stack reinvented. +Calendula is named after the flower. Both its name and the word *calendar* +come from the Latin *kalendae*, the first day of the month. -## ✨ Features +The app works directly on Android's `CalendarContract`. Any calendar synced to +your device (CalDAV via DAVx5, Google, local, WebCal subscriptions) shows up in +Calendula, and whatever you create or edit syncs back the same way. Calendula +has no database or sync code of its own. -**Calendar** +## Features -- Month, week, and day views with a one-tap view switcher -- Full event details — attendees and their responses, reminders, recurrence - (humanized), availability, visibility, foreign time zones -- Per-calendar visibility toggle, grouped by account +### Calendar -**Editing** +- Month, week and day views, with a switcher in the top bar +- Event details with attendees and their responses, reminders, recurrence in + plain words, availability, visibility and foreign time zones +- Calendars can be shown or hidden one by one, grouped by account +- Your contacts' birthdays, anniversaries and other dates, if you turn it on. + Contacts are read on the device and never changed. -- Create, edit, and delete events — including recurring events with scoped - writes: *only this event*, *this and all following*, or *the whole series* -- Recurrence picker with one-tap presets and custom rules (interval, weekday - toggles, end conditions); rules it can't express are preserved verbatim -- Conflict-safe saves: if an event changed elsewhere while you were editing, - Calendula asks instead of silently overwriting -- Read-only calendars (WebCal, birthdays) are detected and respected +### Editing -**Reminders** +- Create, edit and delete events. For a recurring event you choose whether a + change applies to *only this event*, *this and all following*, or *the whole + series*. +- The repeat picker has presets and custom rules (interval, weekdays, end + condition). Rules it can't show are kept as they are. +- If an event changed elsewhere while you were editing it, Calendula asks + before saving over it. +- Read-only calendars such as WebCal subscriptions and birthdays are detected + and can't be edited by accident. -- Event reminders delivered by Calendula itself as notifications — - essential when it's your only calendar app, since Android delegates - reminder delivery to calendar apps -- Tap a reminder to land on the event +### Reminders -**Design & privacy** +- Calendula shows event reminders as notifications itself. Android leaves + reminder delivery to calendar apps, so if Calendula is your only one, this is + where your reminders come from. +- Tapping a reminder opens the event. -- Real Material 3 Expressive throughout — dynamic color (Android 12+), - expressive motion and shapes, light/dark theme -- English and German UI plus community translations (Spanish, French, Italian, - Polish, and more in progress), per-app language setting — and [open to more - languages](#-translations) -- **Zero telemetry, zero analytics, no internet permission** — your data - never leaves the device +### Design and privacy -## 📦 Install +- Material 3 Expressive throughout, with dynamic color on Android 12+, light + and dark themes, and expressive motion and shapes +- Available in 16 languages, with a per-app language setting. + [Help translate](#translations). +- No telemetry, no analytics and no internet permission. Your data stays on + the device. -Pick whichever channel you already use — they all install the same app: +## Install + +All channels install the same app: | Channel | Updates | Notes | | --- | --- | --- | | [Official F-Droid](#f-droid-recommended) | On F-Droid's build schedule | Recommended; no extra setup | -| [Self-hosted F-Droid repo](#self-hosted-f-droid-repo-fastest-updates) | Minutes after a release | Fastest; needs the repo added once | -| [Codeberg release / Obtainium](#codeberg-release--obtainium) | Per release | Plain APK download, or automated by Obtainium | -| [Google Play](#google-play) | Per release | Signed with Google's key — see below | +| [Self-hosted F-Droid repo](#self-hosted-f-droid-repo-fastest-updates) | Minutes after a release | Fastest; add the repo once | +| [Codeberg release / Obtainium](#codeberg-release--obtainium) | Per release | Plain APK download, or automatic with Obtainium | +| [Google Play](#google-play) | Per release | Signed with Google's key, see below | | [Build from source](#build-from-source) | Whenever you build | Full control | ### F-Droid (recommended) -Calendula is on the **official [F-Droid](https://f-droid.org) repository** — -just search for **Calendula** in any F-Droid client, or +Calendula is in the official [F-Droid](https://f-droid.org) repository. Search +for Calendula in any F-Droid client, or [install it from f-droid.org](https://f-droid.org/packages/de.jeanlucmakiola.calendula/). -F-Droid rebuilds from source on its own schedule, so a new version usually -shows up there a few days after release. +F-Droid builds from source on its own schedule, so a new version usually shows +up there a few days after release. ### Self-hosted F-Droid repo (fastest updates) -Every release is built, signed, and published to a self-hosted F-Droid -repository as part of the release pipeline, so it lands there first. Add it once +The release pipeline builds, signs and publishes every release to a +self-hosted F-Droid repository, so new versions land there first. Add it once and your F-Droid client handles updates from then on: 1. In your F-Droid client, open *Settings → Repositories → Add* (or open the @@ -117,88 +122,86 @@ and your F-Droid client handles updates from then on: fingerprint (SHA-256): `C2C0 6404 02BF 458F C0ED 957A F0B3 7AA4 C140 22E7 2F89 CE90 B596 5B45 8CF7 3425` -2. Refresh, search for **Calendula**, install. +2. Refresh, search for Calendula and install it. ### Codeberg release / Obtainium -If you'd rather not use F-Droid at all, every release is also published on -**[Codeberg](https://codeberg.org/jlmakiola/calendula/releases)** with the -signed APK (`calendula_vX.Y.Z.apk`) and a `.sha256` checksum attached — download -and install it directly. +Every release is also on +[Codeberg](https://codeberg.org/jlmakiola/calendula/releases) with the signed +APK (`calendula_vX.Y.Z.apk`) and a `.sha256` checksum. Download it and install +it directly. -For automatic updates from that channel, use -**[Obtainium](https://github.com/ImranR98/Obtainium)** — on the phone, -**[add Calendula in one tap](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/jlmakiola/calendula)**, -or do it by hand: *Add App* → paste `https://codeberg.org/jlmakiola/calendula` -→ *Add*. Either way, Obtainium tracks the releases and prompts you when a new -one appears. +For automatic updates from Codeberg, use +[Obtainium](https://github.com/ImranR98/Obtainium). On your phone, +[add Calendula in one tap](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/jlmakiola/calendula), +or add it by hand: *Add App*, paste `https://codeberg.org/jlmakiola/calendula`, +then *Add*. Obtainium then watches the releases and tells you when a new one +is out. ### Google Play -Calendula is live on Google Play: -**[play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula](https://play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula)**. +Calendula is on +[Google Play](https://play.google.com/store/apps/details?id=de.jeanlucmakiola.calendula). Play builds are signed with Google's key rather than mine, so switching between -Play and any other channel requires an uninstall (and with it, a fresh start for -app settings — your events live in the system calendar and are unaffected). +Play and any other channel means uninstalling first. You lose the app settings. +Your events live in the system calendar and aren't affected. ### Build from source -The build is a plain Gradle build with no proprietary dependencies — see -**[docs/BUILDING.md](docs/BUILDING.md)** (note the `floret-kit` submodule). +It's a plain Gradle build with no proprietary dependencies. See +[docs/BUILDING.md](docs/BUILDING.md), and note the `floret-kit` submodule. -Official F-Droid, the self-hosted repo, and the Codeberg releases all share -the same signing key, so you can switch freely between them without -reinstalling. Google Play is the exception — see above. +Official F-Droid, the self-hosted repo and the Codeberg releases share the +same signing key, so you can switch between them without reinstalling. Google +Play is the exception (see above). -## 📚 Documentation +## Documentation -- **[Contributing](CONTRIBUTING.md)** — how to report, propose, and patch -- **[Building from source](docs/BUILDING.md)** — requirements and Gradle tasks -- **[Architecture](docs/ARCHITECTURE.md)** — the layered design and key pipelines -- **[Milestones](https://codeberg.org/jlmakiola/calendula/milestones)** — what's shipped and what's next -- **[Privacy policy](docs/PRIVACY.md)** — the source of the page published at +- [Contributing](CONTRIBUTING.md): how to report bugs, propose features and send patches +- [Building from source](docs/BUILDING.md): requirements and Gradle tasks +- [Architecture](docs/ARCHITECTURE.md): the layers and the main pipelines +- [Milestones](https://codeberg.org/jlmakiola/calendula/milestones): what has shipped and what's next +- [Privacy policy](docs/PRIVACY.md): the source of the page at [jeanlucmakiola.de/calendula/privacy](https://jeanlucmakiola.de/calendula/privacy) -## 🤝 Contributing +## Contributing -Bug reports, ideas, and patches are all welcome on -**[Codeberg](https://codeberg.org/jlmakiola/calendula/issues)**. +Bug reports, ideas and patches are welcome on +[Codeberg](https://codeberg.org/jlmakiola/calendula/issues). -The short version: **start with an issue.** Features get a yes-or-no before they -get code, and both features and bugs are assigned a milestone whose -`release/vX.Y.Z` branch your pull request then targets. Typo and docs fixes can -skip straight to a pull request. Translations don't go through pull requests at -all — [Weblate owns them](#-translations). +Start with an issue. A feature gets a yes or no before anyone writes code, and +features and bugs are assigned a milestone whose `release/vX.Y.Z` branch your +pull request targets. Typo and docs fixes can go straight to a pull request. +Translations go through [Weblate](#translations), not pull requests. -Read **[CONTRIBUTING.md](CONTRIBUTING.md)** before writing code: it covers the -workflow, the build (note the `floret-kit` submodule), and the architectural -rules a change is reviewed against. +Read [CONTRIBUTING.md](CONTRIBUTING.md) before writing code. It covers the +workflow, the build (including the `floret-kit` submodule) and the +architectural rules changes are reviewed against. -## 🌍 Translations +## Translations -Calendula ships in English and German, with community translations in Arabic, -Chinese, French, Italian, Polish, Portuguese, Russian, and Spanish at varying -degrees of completeness — partial is fine, untranslated strings simply fall back -to English. You're warmly invited to add or finish your language. Translations -are managed on a self-hosted **Weblate**: +Calendula is written in English. Translators on Weblate have added Arabic, +Belarusian, Chinese (Simplified), Czech, French, German, Hungarian, Italian, +Japanese, Polish, Portuguese (Portugal and Brazil), Russian, Slovak and Spanish, +some of them partly. Untranslated strings fall back to English, so a partial +translation is fine. Translations are managed on a self-hosted Weblate: -**→ [Help translate Calendula](https://weblate.dev.jeanlucmakiola.de/engage/calendula/)** +[Help translate Calendula](https://weblate.dev.jeanlucmakiola.de/engage/calendula/) -No coding needed — register on the Weblate server, pick (or request) a language, -and translate the strings in your browser. You can also reach this link in the -app from the top of **Settings → App language**. +You don't need to code. Register on the Weblate server, pick a language (or +request one) and translate in your browser. The app links here from the top of +*Settings → App language*. -## 🔒 Privacy +## Privacy -No analytics, no tracking, no advertising, no crash-reporting SDK, no third-party -services — and **no internet permission at all**, so the app is technically -incapable of transmitting anything anywhere. Your events stay in Android's own -calendar store, where they already were. +Calendula has no analytics, tracking, ads, crash-reporting SDK or third-party +services. It doesn't have the internet permission, so it can't send anything +anywhere. Your events stay in Android's own calendar store. -**→ [Privacy policy](https://jeanlucmakiola.de/calendula/privacy)** — written in +[Privacy policy](https://jeanlucmakiola.de/calendula/privacy), written in [`docs/PRIVACY.md`](docs/PRIVACY.md), which is what that page renders. -## 📜 License +## License -[MIT](LICENSE) — Jean-Luc Makiola, 2026 +[MIT](LICENSE), Jean-Luc Makiola, 2026 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 15ac126..17ed862 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -28,8 +28,8 @@ android { // which builds this version and then creates the matching vX.Y.Z tag + // release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 + // PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md. - versionCode = 22100 - versionName = "2.21.0" + versionCode = 22200 + versionName = "2.22.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/MainActivity.kt b/app/src/main/java/de/jeanlucmakiola/calendula/MainActivity.kt index 5de78db..347b910 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/MainActivity.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/MainActivity.kt @@ -32,6 +32,7 @@ import de.jeanlucmakiola.calendula.domain.EventForm import de.jeanlucmakiola.calendula.domain.buildInsertEventForm import de.jeanlucmakiola.calendula.ui.RootScreen import de.jeanlucmakiola.calendula.ui.common.LocalShowHourGrid +import de.jeanlucmakiola.calendula.ui.common.LocalMultiDayCount import de.jeanlucmakiola.calendula.ui.common.LocalTimelineZoom import de.jeanlucmakiola.calendula.ui.common.rememberTimelineZoom import de.jeanlucmakiola.calendula.ui.common.LocalSoftenColors @@ -169,6 +170,7 @@ class MainActivity : AppCompatActivity() { // weeks and switching between the week and day view. val timelineZoom = rememberTimelineZoom( stored = settings.timelineScale, + hours = settings.timelineHours, onPersist = settingsViewModel::setTimelineScale, ) val fonts by settingsViewModel.fontState.collectAsStateWithLifecycle() @@ -188,6 +190,7 @@ class MainActivity : AppCompatActivity() { LocalUse24HourFormat provides use24Hour, LocalShowHourGrid provides settings.showHourGrid, LocalTimelineZoom provides timelineZoom, + LocalMultiDayCount provides settings.multiDayCount, LocalSoftenColors provides settings.softenColors, ) { RootScreen( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/CalendarDataSource.kt b/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/CalendarDataSource.kt index fd3283d..6f873af 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/CalendarDataSource.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/CalendarDataSource.kt @@ -1261,6 +1261,13 @@ class AndroidCalendarDataSource @Inject constructor( values.toContentValues(), ) ?: throw WriteFailedException("modify occurrence event id=$eventId begin=$beginMillis") val exceptionId = ContentUris.parseId(uri) + form.colorKey?.let { key -> + resolver.update( + ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, exceptionId), + ContentValues().apply { put(CalendarContract.Events.EVENT_COLOR_KEY, key) }, + null, null, + ) + } // Whether the provider copied the parent's reminder rows is its // business — reconciling against the actual rows handles both ways. reconcileReminders(exceptionId, encodedReminders(form, allDayReminderTimeMinutes)) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapper.kt b/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapper.kt index 138da17..34c36b2 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapper.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapper.kt @@ -247,6 +247,10 @@ internal fun buildEventUpdateValues( * DTSTART + DURATION itself, clearing the inherited RRULE in the process. This * matches how AOSP Calendar/Etar write exceptions; sending DTEND is what made * "only this event" fail on-device (Codeberg #16). + * + * A palette key is left out: the provider crashes on an exception insert that + * carries `EVENT_COLOR_KEY` (Codeberg #338), so the caller sets it with a plain + * update once the row exists. */ internal fun buildOccurrenceExceptionValues( form: EventForm, @@ -264,7 +268,7 @@ internal fun buildOccurrenceExceptionValues( put(CalendarContract.Events.ACCESS_LEVEL, form.accessLevel.toProviderValue()) put(CalendarContract.Events.EVENT_LOCATION, form.location.trim().ifEmpty { null }) put(CalendarContract.Events.DESCRIPTION, form.description.trim().ifEmpty { null }) - putAll(eventColorColumns(form.colorKey, form.color)) + if (form.colorKey == null) putAll(eventColorColumns(null, form.color)) } /** diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefs.kt b/app/src/main/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefs.kt index 71eaad3..bc098c9 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefs.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefs.kt @@ -21,6 +21,7 @@ import de.jeanlucmakiola.calendula.ui.agenda.storageValue import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.QuickSwitchConfig +import de.jeanlucmakiola.calendula.ui.common.TimelineHours import de.jeanlucmakiola.calendula.ui.common.TimelineScale import de.jeanlucmakiola.calendula.ui.common.parseTimelineScale import de.jeanlucmakiola.calendula.ui.common.storageValue @@ -287,6 +288,36 @@ class SettingsPrefs @Inject constructor( store.edit { it[TIMELINE_SCALE_KEY] = scale.storageValue() } } + /** How many days the multi-day view shows side by side (#193). */ + val multiDayCount: Flow = store.data.map { prefs -> + (prefs[MULTI_DAY_COUNT_KEY] ?: DEFAULT_MULTI_DAY_COUNT).coerceIn(MULTI_DAY_COUNTS) + } + + suspend fun setMultiDayCount(count: Int) { + store.edit { it[MULTI_DAY_COUNT_KEY] = count.coerceIn(MULTI_DAY_COUNTS) } + } + + /** + * The hours the day, week and multi-day timelines fit to the screen when they + * open (#322). Off by default; the hours survive switching it off. + */ + val timelineHours: Flow = store.data.map { prefs -> + TimelineHours.of( + enabled = prefs[TIMELINE_HOURS_ENABLED_KEY] ?: false, + startHour = prefs[TIMELINE_HOURS_START_KEY] ?: TimelineHours.DEFAULT_START_HOUR, + endHour = prefs[TIMELINE_HOURS_END_KEY] ?: TimelineHours.DEFAULT_END_HOUR, + ) + } + + suspend fun setTimelineHours(hours: TimelineHours) { + val valid = TimelineHours.of(hours.enabled, hours.startHour, hours.endHour) + store.edit { + it[TIMELINE_HOURS_ENABLED_KEY] = valid.enabled + it[TIMELINE_HOURS_START_KEY] = valid.startHour + it[TIMELINE_HOURS_END_KEY] = valid.endHour + } + } + /** * Where the jump-to-today control lives (issue #60). Default OFF — the * historical layout, where it's an extended FAB that fades in above the "+" @@ -948,10 +979,20 @@ class SettingsPrefs @Inject constructor( if (view in config.enabled) view.name else "!${view.name}" } - /** Keep the given order (de-duplicated), then append any views it omits. */ + /** Keep stored order; insert the new multi-day view after Week on upgrades. */ private fun completeViewOrder(seen: List): List { - val ordered = seen.distinct() - return ordered + IMPLEMENTED_VIEWS.filterNot { it in ordered } + val ordered = seen.distinct().toMutableList() + IMPLEMENTED_VIEWS.forEach { view -> + if (view !in ordered) { + val index = if (view == CalendarView.MultiDay && CalendarView.Week in ordered) { + ordered.indexOf(CalendarView.Week) + 1 + } else { + ordered.size + } + ordered.add(index, view) + } + } + return ordered } companion object { @@ -1017,8 +1058,14 @@ class SettingsPrefs @Inject constructor( internal const val DEFAULT_ALLDAY_REMINDER_TIME = 540 private const val MINUTES_PER_DAY = 1_440 internal val SNOOZE_MINUTES_KEY = intPreferencesKey("snooze_minutes") + internal val MULTI_DAY_COUNT_KEY = intPreferencesKey("multi_day_count") + internal val TIMELINE_HOURS_ENABLED_KEY = booleanPreferencesKey("timeline_hours_enabled") + internal val TIMELINE_HOURS_START_KEY = intPreferencesKey("timeline_hours_start") + internal val TIMELINE_HOURS_END_KEY = intPreferencesKey("timeline_hours_end") /** Default snooze delay for the notification "Snooze" action. */ const val DEFAULT_SNOOZE_MINUTES = 10 + const val DEFAULT_MULTI_DAY_COUNT = 3 + val MULTI_DAY_COUNTS = 3..6 internal val CALENDAR_REMINDER_OVERRIDE_KEY = stringPreferencesKey("per_calendar_reminder_override") internal val CALENDAR_ALLDAY_REMINDER_OVERRIDE_KEY = diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderNotifier.kt b/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderNotifier.kt index 17d7213..7ca24b7 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderNotifier.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderNotifier.kt @@ -88,6 +88,7 @@ class ReminderNotifier @Inject constructor( is24Hour = is24Hour, today = Instant.now().atZone(zone).toLocalDate(), firstDayOfWeek = firstDayOfWeek, + todayLabel = context.getString(R.string.reminder_day_today), tomorrowLabel = context.getString(R.string.reminder_day_tomorrow), yesterdayLabel = context.getString(R.string.reminder_day_yesterday), ) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeText.kt b/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeText.kt index cdc7462..c169d70 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeText.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeText.kt @@ -27,12 +27,12 @@ import java.util.Locale * alone would be ambiguous) * - timed, crossing days: "11 Jun, 23:30 – 12 Jun, 00:30" (medium date + short time, * already unambiguous) - * - all-day, one day: "11 Jun 2026" - * - all-day, multi-day: "11 Jun 2026 – 12 Jun 2026" + * - all-day, one day: "Tomorrow" / "Thu" / "11 Jun 2026" (same relative rules, + * plus [todayLabel] — no time range to lean on) + * - all-day, multi-day: "Tomorrow – 12 Jun 2026" (relative start, explicit end) * - * All-day instances already carry an explicit date, so they never gain a - * relative prefix. They store UTC midnights with an exclusive end, so they are - * read in UTC and the end day is the last *covered* day. + * All-day instances store UTC midnights with an exclusive end, so they are read + * in UTC and the end day is the last *covered* day (issue #308). */ fun reminderTimeText( beginMillis: Long, @@ -43,6 +43,7 @@ fun reminderTimeText( is24Hour: Boolean, today: LocalDate, firstDayOfWeek: DayOfWeek, + todayLabel: String, tomorrowLabel: String, yesterdayLabel: String, ): String { @@ -53,11 +54,16 @@ fun reminderTimeText( val lastDay = Instant.ofEpochMilli(endMillis).atZone(ZoneOffset.UTC).toLocalDate() .minusDays(1) .coerceAtLeast(firstDay) - return if (lastDay == firstDay) { - dateFormat.format(firstDay) - } else { - dateFormat.format(firstDay) + RANGE + dateFormat.format(lastDay) - } + val start = relativeDayPrefix( + day = firstDay, + today = today, + firstDayOfWeek = firstDayOfWeek, + locale = locale, + dateFormat = dateFormat, + tomorrowLabel = tomorrowLabel, + yesterdayLabel = yesterdayLabel, + ) ?: todayLabel + return if (lastDay == firstDay) start else start + RANGE + dateFormat.format(lastDay) } val timeFormat = timeOfDayFormatter(is24Hour, locale) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/domain/EventDisplayOrder.kt b/app/src/main/java/de/jeanlucmakiola/calendula/domain/EventDisplayOrder.kt new file mode 100644 index 0000000..1240c5f --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/domain/EventDisplayOrder.kt @@ -0,0 +1,18 @@ +package de.jeanlucmakiola.calendula.domain + +import kotlinx.datetime.TimeZone + +/** Lower values appear first in lists and get the upper visible lanes in grids. */ +fun EventInstance.displayPriority(zone: TimeZone): Int = when { + isDeclined -> 3 + spansMultipleDays(zone) -> 0 + isAllDay -> 1 + else -> 2 +} + +/** Shared order for agenda and split day lists. Grid bars add their lane geometry. */ +fun eventDisplayComparator(zone: TimeZone): Comparator = + compareBy { it.displayPriority(zone) } + .thenBy { it.start } + .thenBy { it.title } + .thenBy { it.instanceId } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/CalendarHost.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/CalendarHost.kt index dc4d5a8..2fafe09 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/CalendarHost.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/CalendarHost.kt @@ -1,24 +1,40 @@ package de.jeanlucmakiola.calendula.ui import androidx.activity.compose.BackHandler +import androidx.activity.compose.PredictiveBackHandler import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.ExperimentalSharedTransitionApi +import androidx.compose.animation.SharedTransitionLayout +import androidx.compose.animation.core.SeekableTransitionState +import androidx.compose.animation.core.rememberTransition import androidx.compose.animation.fadeIn -import androidx.compose.animation.fadeOut import androidx.compose.animation.slideInHorizontally -import androidx.compose.animation.slideOutHorizontally import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.DrawerValue +import androidx.compose.material3.ModalNavigationDrawer +import androidx.compose.material3.Scaffold +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.rememberDrawerState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import de.jeanlucmakiola.calendula.ui.common.screen +import de.jeanlucmakiola.calendula.ui.common.ViewScreen +import androidx.compose.ui.layout.onGloballyPositioned +import androidx.compose.ui.layout.positionInWindow +import androidx.compose.ui.platform.LocalDensity import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import de.jeanlucmakiola.calendula.domain.EventForm @@ -26,18 +42,39 @@ import de.jeanlucmakiola.calendula.domain.EventInstance import de.jeanlucmakiola.calendula.ui.agenda.AgendaScreen import de.jeanlucmakiola.calendula.ui.calendars.BackupScreen import de.jeanlucmakiola.calendula.ui.calendars.CalendarsScreen +import de.jeanlucmakiola.calendula.ui.common.BelowTopBarClip +import de.jeanlucmakiola.calendula.ui.common.StayingPut +import de.jeanlucmakiola.calendula.ui.common.CalendarDrawer +import de.jeanlucmakiola.calendula.ui.common.CalendarFab +import de.jeanlucmakiola.calendula.ui.common.CalendarTopBar +import de.jeanlucmakiola.calendula.ui.common.ChromeHost +import de.jeanlucmakiola.calendula.ui.common.ChromeSlot +import de.jeanlucmakiola.calendula.ui.common.LocalChromeSlot +import de.jeanlucmakiola.calendula.ui.common.next import de.jeanlucmakiola.floret.identity.fadeThrough +import de.jeanlucmakiola.floret.identity.predictiveBackExit +import de.jeanlucmakiola.floret.identity.rememberReduceMotion import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.EventMoveHost import de.jeanlucmakiola.calendula.ui.common.EventMoveScope import de.jeanlucmakiola.calendula.ui.common.LocalEventMove import de.jeanlucmakiola.calendula.ui.common.LocalManageCalendars +import de.jeanlucmakiola.calendula.ui.common.LocalTimelineScroll +import de.jeanlucmakiola.calendula.ui.common.LocalViewFocus +import de.jeanlucmakiola.calendula.ui.common.ViewFocus +import de.jeanlucmakiola.calendula.ui.common.ViewFocusSaver +import de.jeanlucmakiola.calendula.ui.common.LocalViewMorph import de.jeanlucmakiola.calendula.ui.common.RescheduleViewModel +import de.jeanlucmakiola.calendula.ui.common.TimelineScrollMemory +import de.jeanlucmakiola.calendula.ui.common.LocalTimelineZoom +import de.jeanlucmakiola.calendula.ui.common.ViewMorphScope +import de.jeanlucmakiola.calendula.ui.common.rememberCalendarFadeSpec +import de.jeanlucmakiola.calendula.ui.common.rememberViewMorphBoundsTransform import de.jeanlucmakiola.calendula.ui.common.drillToDay +import de.jeanlucmakiola.calendula.ui.common.drillToWeek import de.jeanlucmakiola.calendula.ui.common.rememberCalendarSlideSpec import de.jeanlucmakiola.calendula.ui.common.selectView import de.jeanlucmakiola.calendula.ui.common.viewBaseStack -import de.jeanlucmakiola.calendula.ui.day.DayScreen import de.jeanlucmakiola.calendula.ui.detail.EventDetailScreen import de.jeanlucmakiola.calendula.ui.edit.EventEditScreen import de.jeanlucmakiola.calendula.ui.edit.ImportSource @@ -45,16 +82,21 @@ import de.jeanlucmakiola.calendula.ui.imports.ImportScreen import de.jeanlucmakiola.calendula.ui.month.MonthScreen import de.jeanlucmakiola.calendula.ui.search.SearchScreen import de.jeanlucmakiola.calendula.ui.settings.SettingsScreen -import de.jeanlucmakiola.calendula.ui.week.WeekScreen +import de.jeanlucmakiola.calendula.ui.week.TimelineScreen +import kotlinx.coroutines.NonCancellable +import kotlinx.coroutines.withContext +import kotlinx.coroutines.launch import kotlinx.datetime.LocalDate import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime +import kotlin.coroutines.cancellation.CancellationException import kotlin.time.Clock /** * Holds the top-level view back stack (spec M1) and swaps between the calendar - * screens. Each screen owns its own ViewModel and date anchor; the view-switcher - * pill in their top bars writes back here via [onSelectView]. + * screens. Each screen owns its own ViewModel; they all open on the one focused + * date held here ([ViewFocus]), and the view-switcher pill in their top bars + * writes back here via [onSelectView]. * * The stack's bottom is the user's [CalendarHostViewModel.defaultView] home view. * A lateral switch (pill / drawer) builds a visit history so back retraces it @@ -71,6 +113,7 @@ import kotlin.time.Clock * as [WidgetNavRequest.OpenEvent], which also roots the back stack in the * widget's view.) */ +@OptIn(ExperimentalSharedTransitionApi::class) @Composable fun CalendarHost( modifier: Modifier = Modifier, @@ -102,14 +145,25 @@ fun CalendarHost( var viewStack by rememberSaveable(stateSaver = viewStackSaver) { mutableStateOf(listOf(defaultView)) } + var navigationVersion by remember { mutableIntStateOf(0) } val view = viewStack.last() - val onSelectView: (CalendarView) -> Unit = { viewStack = viewStack.selectView(it) } + // The date every view opens on and carries along (#184); tapping a day + // anywhere focuses it and opens the day view there. + val focus = rememberSaveable(saver = ViewFocusSaver) { ViewFocus(localToday()) } - // Tapping a day in the month grid opens the day view anchored to that date. - var pendingDayIso by rememberSaveable { mutableStateOf(null) } + val switchScope = rememberCoroutineScope() + val switchTo: ((List) -> List) -> Unit = { move -> + navigationVersion++ + viewStack = move(viewStack) + } + val onSelectView: (CalendarView) -> Unit = { target -> switchTo { it.selectView(target) } } val onOpenDay: (LocalDate) -> Unit = { date -> - pendingDayIso = date.toString() - viewStack = viewStack.drillToDay() + focus.navigateTo(date) + switchTo { it.drillToDay() } + } + val onOpenWeek: (LocalDate) -> Unit = { date -> + focus.navigateTo(date) + switchTo { it.drillToWeek() } } // The event-detail screen (S4) is a full-screen destination hoisted here so @@ -259,13 +313,14 @@ fun CalendarHost( // [requestedDetailKey]. Date/event opens root the stack in the widget's own // view so backing out returns there (then home), not to the default. LaunchedEffect(widgetNavRequest) { + if (widgetNavRequest != null) navigationVersion++ when (val req = widgetNavRequest) { is WidgetNavRequest.OpenDate -> { // Drill the day view in over the widget's view: drop any overlay // that would cover it, so the open doesn't land under Settings/form. dismissCoveringOverlays() createDateIso = null - pendingDayIso = req.dateIso + focus.navigateTo(LocalDate.parse(req.dateIso)) // No widget source (an external date tap) roots over the default // home view, so backing out of the day returns home then exits. viewStack = viewBaseStack(defaultView, req.source ?: defaultView).drillToDay() @@ -289,7 +344,7 @@ fun CalendarHost( // default home — so backing out returns to the default, then exits. dismissCoveringOverlays() createDateIso = null - pendingDayIso = null + focus.navigateTo(localToday()) viewStack = viewBaseStack(defaultView, req.view ?: defaultView) onWidgetNavConsumed() } @@ -340,6 +395,9 @@ fun CalendarHost( } val slideSpec = rememberCalendarSlideSpec() + // Overlays leave from the predictive-back preview (#184): shrinking on from + // where the gesture let go instead of snapping back and sliding off. + val overlayExit = predictiveBackExit() // Base-level back: pop the view stack while no overlay covers it (each overlay // owns its own BackHandler and takes precedence). Disabled at the home view, @@ -347,76 +405,158 @@ fun CalendarHost( val anyOverlayVisible = showSearch || detailKey != null || createDateIso != null || editKey != null || showSettings || showCalendars || showBackup || importUri != null || importForm != null - BackHandler(enabled = !anyOverlayVisible && viewStack.size > 1) { - viewStack = viewStack.dropLast(1) + // The view switch runs on a seekable transition, so a back gesture can scrub + // it (#185): the previous view morphs in under the finger, releasing finishes + // the pop and cancelling springs back. Reduced motion keeps a plain back. + val viewTransition = remember { SeekableTransitionState(view) } + LaunchedEffect(view) { viewTransition.animateTo(view) } + val reduceMotion = rememberReduceMotion() + val viewBackEnabled = !anyOverlayVisible && viewStack.size > 1 + if (reduceMotion) { + BackHandler(enabled = viewBackEnabled) { + navigationVersion++ + viewStack = viewStack.dropLast(1) + } + } else { + PredictiveBackHandler(enabled = viewBackEnabled) { events -> + val previous = viewStack[viewStack.size - 2] + try { + events.collect { viewTransition.seekTo(it.progress, targetState = previous) } + navigationVersion++ + viewStack = viewStack.dropLast(1) + } catch (e: CancellationException) { + withContext(NonCancellable) { viewTransition.animateTo(viewTransition.currentState) } + throw e + } + } } Box(modifier = modifier.fillMaxSize()) { - // Switching between the peer views (month/week/day/agenda) is lateral + // Switching between the month, timeline and agenda screens is lateral // navigation, so it fades through rather than sliding — paging *within* a - // view keeps the directional slide. AnimatedContent keyed on the view type. + // view keeps the directional slide. What both views show morphs across + // (#184): see [ViewMorphKey]. Reduced motion keeps the plain fade. val viewSwitch = fadeThrough() + val morphBounds = rememberViewMorphBoundsTransform() + val morphFade = rememberCalendarFadeSpec() + val morphClip = remember { BelowTopBarClip() } + val stayingPut = remember { StayingPut() } + val chromeHost = remember { ChromeHost() } + val drawerState = rememberDrawerState(DrawerValue.Closed) + val density = LocalDensity.current + val topBarBottom = TopAppBarDefaults.windowInsets.getTop(density) + + with(density) { TopAppBarDefaults.TopAppBarExpandedHeight.toPx() } + val timelineScroll = remember { TimelineScrollMemory() } + // A timeline reached from another screen opens on the visible hours + // (#322); only a switch between timeline views carries the scroll over. + val timelineZoom = LocalTimelineZoom.current + LaunchedEffect(view.screen) { + if (view.screen != ViewScreen.Timeline && timelineZoom.hours.enabled) { + timelineScroll.midnightY = null + } + } CompositionLocalProvider( LocalEventMove provides moveScope, + LocalTimelineScroll provides timelineScroll, + LocalViewFocus provides focus, // The failure state's way out when every calendar is switched off // (#239); nothing else in the calendar surfaces navigates here. - LocalManageCalendars provides { showCalendars = true }, + LocalManageCalendars provides remember { { showCalendars = true } }, ) { - AnimatedContent( - targetState = view, + // One drawer, top bar and FAB for every screen (#184): a switch changes + // what they say, from what the screen on show publishes, rather than + // swapping them for another screen's. + ModalNavigationDrawer( + drawerState = drawerState, + // Open only via the menu button where edge-swipe would fight paging; + // the agenda has no paging to fight. + gesturesEnabled = drawerState.isOpen || view.screen == ViewScreen.Agenda, + drawerContent = { + CalendarDrawer( + currentView = view, + currentDate = chromeHost.chrome?.drawerDate ?: focus.date, + drawerState = drawerState, + viewOrder = drawerViewOrder, + onSelectView = { target -> + // Once the drawer is out of the way, so the switch is seen whole. + val requestVersion = ++navigationVersion + switchScope.launch { + drawerState.close() + if (navigationVersion == requestVersion) onSelectView(target) + } + }, + onJumpToDate = { target -> + chromeHost.actions?.onJumpToDate?.invoke(target) + switchScope.launch { drawerState.close() } + }, + onSettings = { + onOpenSettings() + switchScope.launch { drawerState.close() } + }, + ) + }, + ) { + Scaffold( + topBar = { + CalendarTopBar( + host = chromeHost, + selectedView = view, + quickSwitchViews = quickSwitchViews, + onCycleView = { onSelectView(viewStack.last().next(quickSwitchViews)) }, + onOpenDrawer = { switchScope.launch { drawerState.open() } }, + onOpenSearch = onOpenSearch, + showTodayButton = todayInToolbar, + ) + }, + floatingActionButton = { CalendarFab(chromeHost, todayInToolbar) }, + ) { innerPadding -> + SharedTransitionLayout( + Modifier + .padding(innerPadding) + .fillMaxSize() +.onGloballyPositioned { morphClip.top = topBarBottom - it.positionInWindow().y }, + ) { + // Keyed on the screen, not the view: the day, multi-day and week views + // are one timeline that resizes between them itself (#184), so switching + // among them must not replay this transition. + rememberTransition(viewTransition, label = "view-switch").AnimatedContent( transitionSpec = { viewSwitch }, - label = "view-switch", + contentKey = { it.screen }, ) { currentView -> - when (currentView) { - CalendarView.Week -> WeekScreen( - selectedView = currentView, - onSelectView = onSelectView, + val screen = currentView.screen + val sharedScope = this@SharedTransitionLayout + val visibilityScope = this@AnimatedContent + val viewMorph = remember(reduceMotion, sharedScope, visibilityScope, morphBounds, morphFade, morphClip, stayingPut) { + if (reduceMotion) null else ViewMorphScope(sharedScope, visibilityScope, morphBounds, morphFade, morphClip, stayingPut) + } + CompositionLocalProvider( + LocalViewMorph provides viewMorph, + LocalChromeSlot provides ChromeSlot(chromeHost, current = screen == view.screen), + ) { + when (screen) { + ViewScreen.Timeline -> TimelineScreen( + view = currentView, onOpenDay = onOpenDay, onEventClick = onEventClick, - onOpenSettings = onOpenSettings, - onOpenSearch = onOpenSearch, onCreateEvent = onCreateEvent, - quickSwitchViews = quickSwitchViews, - drawerViewOrder = drawerViewOrder, - todayInToolbar = todayInToolbar, ) - CalendarView.Day -> DayScreen( - selectedView = currentView, - onSelectView = onSelectView, + ViewScreen.Month -> MonthScreen( + onOpenDay = onOpenDay, + onOpenWeek = onOpenWeek, onEventClick = onEventClick, - onOpenSettings = onOpenSettings, - onOpenSearch = onOpenSearch, onCreateEvent = onCreateEvent, - initialDateIso = pendingDayIso, - quickSwitchViews = quickSwitchViews, - drawerViewOrder = drawerViewOrder, - todayInToolbar = todayInToolbar, ) - CalendarView.Month -> MonthScreen( - selectedView = currentView, - onSelectView = onSelectView, + ViewScreen.Agenda -> AgendaScreen( onOpenDay = onOpenDay, onEventClick = onEventClick, - onOpenSettings = onOpenSettings, - onOpenSearch = onOpenSearch, onCreateEvent = onCreateEvent, quickSwitchViews = quickSwitchViews, - drawerViewOrder = drawerViewOrder, - todayInToolbar = todayInToolbar, - ) - CalendarView.Agenda -> AgendaScreen( - selectedView = currentView, - onSelectView = onSelectView, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - onOpenSettings = onOpenSettings, - onOpenSearch = onOpenSearch, - onCreateEvent = onCreateEvent, - quickSwitchViews = quickSwitchViews, - drawerViewOrder = drawerViewOrder, - todayInToolbar = todayInToolbar, ) } + } + } + } + } } } @@ -429,11 +569,12 @@ fun CalendarHost( AnimatedVisibility( visible = showSearch, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { SearchScreen( onBack = { showSearch = false }, onEventClick = onEventClick, + visible = showSearch, ) } @@ -442,7 +583,7 @@ fun CalendarHost( AnimatedVisibility( visible = detailKey != null, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { activeKey?.let { key -> EventDetailScreen( @@ -462,6 +603,7 @@ fun CalendarHost( importForm = form detailKey = null }, + visible = detailKey != null, ) } } @@ -470,7 +612,7 @@ fun CalendarHost( AnimatedVisibility( visible = createDateIso != null, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { (createDateIso ?: heldCreateIso)?.let { iso -> EventEditScreen( @@ -479,6 +621,7 @@ fun CalendarHost( onClose = { createDateIso = null }, onSaved = { createDateIso = null }, onManageCalendars = { showCalendars = true }, + visible = createDateIso != null, ) } } @@ -487,7 +630,7 @@ fun CalendarHost( AnimatedVisibility( visible = editKey != null, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { (editKey ?: heldEditKey)?.let { key -> EventEditScreen( @@ -499,6 +642,7 @@ fun CalendarHost( detailKey = null }, onManageCalendars = { showCalendars = true }, + visible = editKey != null, ) } } @@ -507,12 +651,13 @@ fun CalendarHost( AnimatedVisibility( visible = showSettings, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { SettingsScreen( onBack = { showSettings = false }, onManageCalendars = { showCalendars = true }, onOpenBackup = { showBackup = true }, + visible = showSettings, ) } @@ -564,11 +709,12 @@ fun CalendarHost( AnimatedVisibility( visible = showCalendars, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { CalendarsScreen( onBack = { showCalendars = false }, onOpenBackup = { showBackup = true }, + visible = showCalendars, ) } @@ -576,7 +722,7 @@ fun CalendarHost( AnimatedVisibility( visible = showBackup, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { // Settings can open this screen without the manager underneath, so // its failure states' "Manage calendars" way out has to open the @@ -603,6 +749,7 @@ fun CalendarHost( showBackup = false showCalendars = false }, + visible = showBackup, ) } } @@ -614,3 +761,6 @@ private val viewStackSaver = listSaver, Int>( save = { stack -> stack.map(CalendarView::ordinal) }, restore = { ordinals -> ordinals.map { CalendarView.entries[it] } }, ) + +private fun localToday(): LocalDate = + Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaScreen.kt index bb4ef71..737b023 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaScreen.kt @@ -1,5 +1,18 @@ package de.jeanlucmakiola.calendula.ui.agenda +import de.jeanlucmakiola.calendula.ui.common.PublishChrome +import de.jeanlucmakiola.calendula.ui.common.ScreenActions +import de.jeanlucmakiola.calendula.ui.common.ScreenBody +import de.jeanlucmakiola.calendula.ui.common.ScreenChrome +import de.jeanlucmakiola.calendula.ui.common.LocalViewFocus +import de.jeanlucmakiola.calendula.ui.common.EnterOnFocus +import kotlinx.coroutines.flow.drop +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.snapshotFlow +import androidx.compose.runtime.rememberUpdatedState +import de.jeanlucmakiola.calendula.ui.common.ViewMorphKey +import de.jeanlucmakiola.calendula.ui.common.morphEvent import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -18,34 +31,22 @@ import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Coffee -import androidx.compose.material.icons.filled.Menu -import androidx.compose.material.icons.filled.Search import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.DrawerValue import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalNavigationDrawer -import androidx.compose.material3.Scaffold import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.rememberDrawerState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf -import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -58,14 +59,9 @@ import de.jeanlucmakiola.calendula.ui.common.AppBarSpacing import de.jeanlucmakiola.calendula.ui.common.QuickSwitchConfig import de.jeanlucmakiola.calendula.ui.common.agendaRangeLabel import de.jeanlucmakiola.floret.identity.animateItemMotion -import de.jeanlucmakiola.calendula.ui.common.CalendarDrawer -import de.jeanlucmakiola.calendula.ui.common.CalendarFabColumn -import de.jeanlucmakiola.calendula.ui.common.TodayAction import de.jeanlucmakiola.calendula.ui.common.CalendarFailure import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS -import de.jeanlucmakiola.calendula.ui.common.ViewSwitcherPill -import de.jeanlucmakiola.calendula.ui.common.next import de.jeanlucmakiola.floret.components.positionOf import de.jeanlucmakiola.calendula.ui.common.rememberCurrentMinute import de.jeanlucmakiola.floret.locale.currentLocale @@ -81,26 +77,22 @@ import kotlin.time.Instant @OptIn(ExperimentalMaterial3Api::class) @Composable fun AgendaScreen( - selectedView: CalendarView, - onSelectView: (CalendarView) -> Unit, onOpenDay: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, - onOpenSettings: () -> Unit, - onOpenSearch: () -> Unit, onCreateEvent: (LocalDate, Int?) -> Unit, quickSwitchViews: List = IMPLEMENTED_VIEWS, - drawerViewOrder: List = IMPLEMENTED_VIEWS, - todayInToolbar: Boolean = false, modifier: Modifier = Modifier, viewModel: AgendaViewModel = hiltViewModel(), ) { + // Opens on the focused date and hands back the day scrolled to the top. + val focus = LocalViewFocus.current + EnterOnFocus(viewModel) { if (it != viewModel.anchor.value) viewModel.goToDate(it) } val state by viewModel.state.collectAsStateWithLifecycle() val anchor by viewModel.anchor.collectAsStateWithLifecycle() val pastDisplay by viewModel.pastEventDisplay.collectAsStateWithLifecycle() val showToday by viewModel.showToday.collectAsStateWithLifecycle() val weekStart by viewModel.weekStart.collectAsStateWithLifecycle() - val drawerState = rememberDrawerState(DrawerValue.Closed) val scope = rememberCoroutineScope() var showRangePicker by remember { mutableStateOf(false) } @@ -124,112 +116,88 @@ fun AgendaScreen( // requested: scrolling before the new rows compose leaves the list keyed to // a row that reappears further down, and it follows it there. LaunchedEffect(successState?.anchor) { listState.scrollToItem(0) } - val jumpToToday = { + val jumpToToday: () -> Unit = { // Off today, moving the anchor is what resets the list (above); on today // the window doesn't change, so the scroll back is the whole action. if (isOnToday) scope.launch { listState.animateScrollToItem(0) } viewModel.goToToday() + (state as? AgendaUiState.Success)?.today?.let { focus?.date = it } } - ModalNavigationDrawer( - drawerState = drawerState, - drawerContent = { - CalendarDrawer( - currentView = selectedView, - currentDate = anchor, - drawerState = drawerState, - viewOrder = drawerViewOrder, - onSelectView = { view -> - onSelectView(view) - scope.launch { drawerState.close() } - }, - onJumpToDate = { target -> - viewModel.goToDate(target) - scope.launch { drawerState.close() } - }, - onSettings = { - onOpenSettings() - scope.launch { drawerState.close() } - }, - ) - }, - ) { - Scaffold( - modifier = modifier, - topBar = { - AgendaTopBar( - selectedView = selectedView, - onCycleView = { onSelectView(selectedView.next(quickSwitchViews)) }, - quickSwitchViews = quickSwitchViews, - onOpenDrawer = { scope.launch { drawerState.open() } }, - onOpenSearch = onOpenSearch, - showTodayButton = todayInToolbar, - onToday = jumpToToday, - ) + PublishChrome( + ScreenChrome( + title = stringResource(R.string.view_agenda), + titleDate = null, + drawerDate = anchor, + awayFromToday = !isOnToday || (scrolledAway && successState != null), + todayText = stringResource(R.string.agenda_today_action), + ), + ScreenActions( + onToday = jumpToToday, + onJumpToDate = { target -> + focus?.date = target + viewModel.goToDate(target) }, - floatingActionButton = { - CalendarFabColumn( - todayVisible = (!isOnToday || (scrolledAway && successState != null)) && - !todayInToolbar, - todayText = stringResource(R.string.agenda_today_action), - onToday = jumpToToday, - onCreate = { onCreateEvent(anchor, null) }, - ) - }, - ) { innerPadding -> - Column( - modifier = Modifier - .fillMaxSize() - .padding(innerPadding), - ) { - // One bar at the top: the "showing …" header on the left and the - // session range switcher on the right (one settings toggle). - successState?.takeIf { it.showRangeBar }?.let { s -> - // end lines the selector up with whatever ends the top bar: - // the view switcher's background, or — once #150 hides it — - // the search icon's glyph. - val selectorEnd = if (quickSwitchViews.size >= QuickSwitchConfig.MIN_CYCLE) { - AppBarSpacing.Inset - } else { - AppBarSpacing.IconTrailingInset - } - Row( - verticalAlignment = Alignment.CenterVertically, - modifier = Modifier - .fillMaxWidth() - .padding( - start = RANGE_BAR_TEXT_INSET, - end = selectorEnd, - top = 8.dp, - bottom = 8.dp, - ), - ) { - AgendaRangeBanner( - range = s.range, - start = s.anchor, - end = s.rangeEnd, - modifier = Modifier.weight(1f), - ) - AgendaRangePill( - range = s.range, - isOverride = s.rangeIsOverride, - onClick = { showRangePicker = true }, - ) - } + onCreate = { onCreateEvent(anchor, null) }, + ), + ) + + ScreenBody(modifier = modifier) { innerPadding -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(innerPadding), + ) { + // One bar at the top: the "showing …" header on the left and the + // session range switcher on the right (one settings toggle). + successState?.takeIf { it.showRangeBar }?.let { s -> + // end lines the selector up with whatever ends the top bar: + // the view switcher's background, or — once #150 hides it — + // the search icon's glyph. + val selectorEnd = if (quickSwitchViews.size >= QuickSwitchConfig.MIN_CYCLE) { + AppBarSpacing.Inset + } else { + AppBarSpacing.IconTrailingInset } - AgendaContent( - state = state, - pastDisplay = pastDisplay, - showToday = showToday, - listState = listState, - onRetry = viewModel::goToToday, - onEventClick = onEventClick, - onOpenDay = onOpenDay, + Row( + verticalAlignment = Alignment.CenterVertically, modifier = Modifier - .weight(1f) - .fillMaxWidth(), - ) + .fillMaxWidth() + .padding( + start = RANGE_BAR_TEXT_INSET, + end = selectorEnd, + top = 8.dp, + bottom = 8.dp, + ), + ) { + AgendaRangeBanner( + range = s.range, + start = s.anchor, + end = s.rangeEnd, + modifier = Modifier.weight(1f), + ) + AgendaRangePill( + range = s.range, + isOverride = s.rangeIsOverride, + onClick = { showRangePicker = true }, + ) + } } + AgendaContent( + state = state, + pastDisplay = pastDisplay, + showToday = showToday, + listState = listState, + onRetry = viewModel::goToToday, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onTopDay = if (successState?.anchor == anchor) { + { focus?.date = it } + } else null, + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + ) } } @@ -326,6 +294,7 @@ internal fun AgendaContent( onOpenDay: (LocalDate) -> Unit, modifier: Modifier = Modifier, listState: LazyListState = rememberLazyListState(), + onTopDay: ((LocalDate) -> Unit)? = null, ) { when (state) { AgendaUiState.Loading -> Box(modifier) @@ -368,6 +337,7 @@ internal fun AgendaContent( now = now, onEventClick = onEventClick, onOpenDay = onOpenDay, + onTopDay = onTopDay, modifier = modifier, ) } @@ -386,8 +356,20 @@ private fun AgendaList( now: Instant, onEventClick: (EventInstance) -> Unit, onOpenDay: (LocalDate) -> Unit, + onTopDay: ((LocalDate) -> Unit)?, modifier: Modifier = Modifier, ) { + if (onTopDay != null) { + val itemDates by rememberUpdatedState(agendaItemDates(days)) + val currentOnTopDay by rememberUpdatedState(onTopDay) + // The day the list opened on is where the view already is; only a + // scroll moves it on. + LaunchedEffect(listState) { + snapshotFlow { listState.firstVisibleItemIndex } + .drop(1) + .collect { index -> itemDates.getOrNull(index)?.let(currentOnTopDay) } + } + } LazyColumn( modifier = modifier, state = listState, @@ -420,7 +402,7 @@ private fun AgendaList( zone = zone, position = positionOf(index, day.events.size), dimmed = dimPast && event.hasEnded(now), - modifier = animateItemMotion(), + modifier = animateItemMotion().morphEvent(ViewMorphKey.event(event, day.date)), onClick = { onEventClick(event) }, ) } @@ -430,6 +412,13 @@ private fun AgendaList( } } +/** The day of each item [AgendaList] lays out for [days], in its order. */ +internal fun agendaItemDates(days: List): List = + days.flatMap { day -> + // Header, the placeholder or the events, then the gap. + List(2 + day.events.size.coerceAtLeast(1)) { day.date } + } + @Composable private fun AgendaEmpty(modifier: Modifier = Modifier) { Column( @@ -451,58 +440,3 @@ private fun AgendaEmpty(modifier: Modifier = Modifier) { ) } } - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -private fun AgendaTopBar( - selectedView: CalendarView, - onCycleView: () -> Unit, - quickSwitchViews: List, - onOpenDrawer: () -> Unit, - onOpenSearch: () -> Unit, - showTodayButton: Boolean, - onToday: () -> Unit, -) { - TopAppBar( - title = { - // A plain label rather than a CalendarTitleButton, so it takes that - // one's inset and one-line clamp itself. - Text( - text = stringResource(R.string.view_agenda), - style = MaterialTheme.typography.titleLarge, - maxLines = 1, - overflow = TextOverflow.Ellipsis, - modifier = Modifier.padding(start = AppBarSpacing.TitleInset), - ) - }, - navigationIcon = { - IconButton(onClick = onOpenDrawer) { - Icon( - imageVector = Icons.Default.Menu, - contentDescription = stringResource(R.string.month_open_menu), - ) - } - }, - actions = { - TodayAction(show = showTodayButton, onToday = onToday) - IconButton(onClick = onOpenSearch) { - Icon( - imageVector = Icons.Default.Search, - contentDescription = stringResource(R.string.search_action), - ) - } - ViewSwitcherPill( - current = selectedView, - cycle = quickSwitchViews, - onCycle = onCycleView, - ) - }, - // Deliberately flat: M3 lifts the bar to mark content scrolling under - // it, but here the bar meets the header on the same surface and the - // tint is what makes that seam look like a separate block (#186). - colors = TopAppBarDefaults.topAppBarColors( - containerColor = MaterialTheme.colorScheme.surface, - scrolledContainerColor = MaterialTheme.colorScheme.surface, - ), - ) -} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaUiState.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaUiState.kt index 2c5ec3a..f38a34d 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaUiState.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaUiState.kt @@ -1,6 +1,7 @@ package de.jeanlucmakiola.calendula.ui.agenda import de.jeanlucmakiola.calendula.domain.EventInstance +import de.jeanlucmakiola.calendula.domain.eventDisplayComparator import de.jeanlucmakiola.calendula.domain.FailureReason import de.jeanlucmakiola.calendula.domain.spanFirstDay import de.jeanlucmakiola.calendula.domain.spanLastDay @@ -86,11 +87,7 @@ fun groupAgendaDays( return byDay.map { (date, dayEvents) -> AgendaDay( date = date, - events = dayEvents.sortedWith( - compareByDescending { it.isAllDay } - .thenBy { it.start } - .thenBy { it.title }, - ), + events = dayEvents.sortedWith(eventDisplayComparator(zone)), ) } } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/BackupScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/BackupScreen.kt index 7a3af49..2da55f1 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/BackupScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/BackupScreen.kt @@ -82,6 +82,7 @@ private val RESTORE_MIME_TYPES = arrayOf( fun BackupScreen( onBack: () -> Unit, onImport: (Uri) -> Unit, + visible: Boolean = true, viewModel: CalendarsViewModel = hiltViewModel(), ) { val state by viewModel.backupState.collectAsStateWithLifecycle() @@ -137,6 +138,7 @@ fun BackupScreen( scrollable = state is BackupUiState.Ready, snackbarHost = { SnackbarHost(snackbarHostState) }, predictiveBack = true, + visible = visible, ) { when (val s = state) { BackupUiState.Loading -> BackupLoading() diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/CalendarsScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/CalendarsScreen.kt index 7d00c20..1c3f66f 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/CalendarsScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/calendars/CalendarsScreen.kt @@ -133,6 +133,7 @@ private const val NEW_CALENDAR_ID = Long.MIN_VALUE fun CalendarsScreen( onBack: () -> Unit, onOpenBackup: () -> Unit, + visible: Boolean = true, viewModel: CalendarsViewModel = hiltViewModel(), ) { val calendars by viewModel.calendars.collectAsStateWithLifecycle() @@ -177,6 +178,7 @@ fun CalendarsScreen( onConsumeError = viewModel::consumeError, onOpenBackup = onOpenBackup, onBack = onBack, + visible = visible, onAdd = { editorSession++; editorId = NEW_CALENDAR_ID }, onEdit = { calendar -> editorSession++; editorId = calendar.id }, onSetVisible = viewModel::setCalendarVisible, @@ -193,6 +195,7 @@ private fun CalendarsList( onConsumeError: () -> Unit, onOpenBackup: () -> Unit, onBack: () -> Unit, + visible: Boolean, onAdd: () -> Unit, onEdit: (CalendarSource) -> Unit, onSetVisible: (Long, Boolean) -> Unit, @@ -218,6 +221,7 @@ private fun CalendarsList( onBack = onBack, snackbarHost = { SnackbarHost(snackbarHostState) }, predictiveBack = true, + visible = visible, ) { // What the per-calendar / per-account switches below actually do. HintText(stringResource(R.string.calendars_visibility_hint)) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/BlockPlacement.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/BlockPlacement.kt index 4b1fcf7..923726a 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/BlockPlacement.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/BlockPlacement.kt @@ -3,6 +3,7 @@ package de.jeanlucmakiola.calendula.ui.common import androidx.compose.animation.Crossfade import androidx.compose.animation.core.FiniteAnimationSpec import androidx.compose.animation.core.animateDpAsState +import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.snap import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.MaterialTheme @@ -13,15 +14,19 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.Layout +import androidx.compose.ui.layout.ParentDataModifier import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.Constraints +import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import de.jeanlucmakiola.floret.identity.rememberReduceMotion +import kotlin.math.roundToInt /** Gap a timed block leaves to its neighbours in the column. */ val BLOCK_OUTER_INSET = 1.dp @@ -94,9 +99,6 @@ fun rememberBlockTextMetrics(height: Dp): BlockTextMetrics { ) } -/** Most lines a time label may wrap over before it is worth more than a title line. */ -const val MAX_TIME_LINES = 2 - /** * Lines [text] needs to render whole at [textWidth], capped at [max]. * @@ -126,29 +128,65 @@ fun blockTextLines(text: String, style: TextStyle, textWidth: Dp, max: Int): Int * Lines the time label may take at [textWidth], out of the [spare] height left * once the title and the label's own first line are paid for. * - * A week column is narrower than a "09:30–11:00" range, so the label takes a - * second line rather than lose its end — but only out of a line the title - * measured itself as not needing, never one it would have filled. + * A week column is narrower than a "09:30–11:00" range — and a 12-hour + * "6:00 PM–7:00 PM" can want four lines — so the label wraps over as many as it + * needs rather than lose its end, but only out of lines the title measured + * itself as not needing, never one it would have filled. */ @Composable fun blockTimeLines(label: String, textWidth: Dp, spare: Dp): Int { val timeLineHeight = rememberTrimmedLineHeight( MaterialTheme.typography.labelSmall.asEventTime(), ) - return if (spare >= timeLineHeight) { - blockTextLines( - text = label, - // The style it is drawn in, or the budget measures a line the label - // never uses (#219). - style = MaterialTheme.typography.labelSmall.asEventTime(), - textWidth = textWidth, - max = MAX_TIME_LINES, - ) - } else { - 1 + return blockTextLines( + text = label, + // The style it is drawn in, or the budget measures a line the label + // never uses (#219). + style = MaterialTheme.typography.labelSmall.asEventTime(), + textWidth = textWidth, + max = timeLinesWithin(spare, timeLineHeight), + ) +} + +/** Lines a time label may take: its own first one, plus every whole [timeLine] in [spare]. */ +internal fun timeLinesWithin(spare: Dp, timeLine: Dp): Int = + if (spare < timeLine || timeLine <= 0.dp) 1 else 1 + (spare / timeLine).toInt() + +/** + * The time range as a timed block draws it. + * + * Each time stays whole where the column is wide enough for one, so a 12-hour + * label never parts "6:00" from its "PM": the range breaks at the dash, which + * rides on whichever side has room for it. Where not even one time fits, the + * text wraps wherever it can. + */ +@Composable +fun rememberBlockTimeRange(start: String, end: String, textWidth: Dp): String { + val measurer = rememberTextMeasurer() + val style = MaterialTheme.typography.labelSmall.asEventTime() + val widthPx = with(LocalDensity.current) { textWidth.roundToPx() } + return remember(start, end, style, widthPx, measurer) { + blockTimeRange(start, end) { + measurer.measure(text = it, style = style, softWrap = false).size.width <= widthPx + } } } +internal fun blockTimeRange(start: String, end: String, fits: (String) -> Boolean): String { + val from = start.replace(' ', NO_BREAK_SPACE) + val to = end.replace(' ', NO_BREAK_SPACE) + return when { + fits("$from–$to") -> "$from–$to" + !fits(from) || !fits(to) -> "$start–$ZERO_WIDTH_SPACE$end" + fits("$from–") -> "$from–\n$to" + fits("–$to") -> "$from\n–$to" + else -> "$from\n$to" + } +} + +private const val NO_BREAK_SPACE = ' ' +private const val ZERO_WIDTH_SPACE = '​' + /** * A timed block's title, over at most [maxLines], breaking at word boundaries. * @@ -224,9 +262,13 @@ fun BlockTimeLabel( } } -/** Where a timed block sits in its column, after tweening. */ +/** + * Where a timed block sits in its column, after tweening: across as shares of + * the column's width, so a column resizing carries its blocks with it (#184), + * down in the timeline's own units. + */ @Immutable -data class BlockPlacement(val x: Dp, val y: Dp, val width: Dp, val height: Dp) +data class BlockPlacement(val xFraction: Float, val widthFraction: Float, val y: Dp, val height: Dp) /** * A timed block's placement, tweened rather than jumped. Continuity comes from @@ -239,17 +281,49 @@ data class BlockPlacement(val x: Dp, val y: Dp, val width: Dp, val height: Dp) */ @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable -fun animatedBlockPlacement(x: Dp, y: Dp, width: Dp, height: Dp): BlockPlacement { - val spec: FiniteAnimationSpec = if (rememberReduceMotion() || - LocalTimelineZoom.current.isPinching - ) { - snap() - } else { - MaterialTheme.motionScheme.fastSpatialSpec() +fun animatedBlockPlacement(xFraction: Float, widthFraction: Float, y: Dp, height: Dp): BlockPlacement { + val still = rememberReduceMotion() || LocalTimelineZoom.current.isPinching + val dpSpec: FiniteAnimationSpec = if (still) snap() else MaterialTheme.motionScheme.fastSpatialSpec() + val shareSpec: FiniteAnimationSpec = if (still) snap() else MaterialTheme.motionScheme.fastSpatialSpec() + val animatedX by animateFloatAsState(xFraction, shareSpec, label = "block-x") + val animatedWidth by animateFloatAsState(widthFraction, shareSpec, label = "block-width") + val animatedY by animateDpAsState(y, dpSpec, label = "block-y") + val animatedHeight by animateDpAsState(height, dpSpec, label = "block-height") + return BlockPlacement(animatedX, animatedWidth, animatedY, animatedHeight) +} + +/** Seats a block across its [placement]'s share of a [LaneColumn]. */ +fun Modifier.laneSlot(placement: BlockPlacement): Modifier = + then(LaneSlot(placement.xFraction, placement.widthFraction)) + +private data class LaneSlot(val x: Float, val width: Float) : ParentDataModifier { + override fun Density.modifyParentData(parentData: Any?): Any = this@LaneSlot +} + +/** + * A day column's blocks, each measured across the share of the column its + * [laneSlot] gives it; anything else fills the column. The shares are applied + * at layout time, so the column can change width every frame without its + * blocks recomposing. + */ +@Composable +fun LaneColumn(modifier: Modifier = Modifier, content: @Composable () -> Unit) { + Layout(content = content, modifier = modifier) { measurables, constraints -> + val width = constraints.maxWidth + val loose = constraints.copy(minWidth = 0, minHeight = 0) + val placed = measurables.map { measurable -> + val slot = measurable.parentData as? LaneSlot + if (slot == null) { + measurable.measure(loose) to 0 + } else { + val left = (slot.x * width).roundToInt() + val right = ((slot.x + slot.width) * width).roundToInt() + val laneWidth = (right - left).coerceAtLeast(0) + measurable.measure(loose.copy(minWidth = laneWidth, maxWidth = laneWidth)) to left + } + } + layout(width, constraints.maxHeight) { + placed.forEach { (placeable, x) -> placeable.placeRelative(x, 0) } + } } - val animatedX by animateDpAsState(x, spec, label = "block-x") - val animatedY by animateDpAsState(y, spec, label = "block-y") - val animatedWidth by animateDpAsState(width, spec, label = "block-width") - val animatedHeight by animateDpAsState(height, spec, label = "block-height") - return BlockPlacement(animatedX, animatedY, animatedWidth, animatedHeight) } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarChrome.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarChrome.kt new file mode 100644 index 0000000..173d29d --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarChrome.kt @@ -0,0 +1,161 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Menu +import androidx.compose.material.icons.filled.Search +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.SideEffect +import androidx.compose.runtime.Stable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import de.jeanlucmakiola.calendula.R +import kotlinx.datetime.LocalDate + +/** + * What a calendar screen shows in the top bar, the FAB and the drawer, which the + * host draws once for all of them (#184): switching screens changes what they + * say rather than swapping one bar for another. + * + * @param titleDate the date the title's picker opens on, or null for a title + * that is only a label. + * @param drawerDate the date the drawer's picker opens on. + * @param awayFromToday whether "today" is worth offering. + */ +@Immutable +data class ScreenChrome( + val title: String, + val shortTitle: String = title, + val titleDate: LocalDate?, + val drawerDate: LocalDate, + val awayFromToday: Boolean, + val todayText: String, +) + +/** What the chrome does for the screen on show; read when used, so not observed. */ +class ScreenActions( + val onToday: () -> Unit, + val onJumpToDate: (LocalDate) -> Unit, + val onCreate: () -> Unit, +) + +/** The screen on show's [ScreenChrome] and [ScreenActions], for the host to draw. */ +@Stable +class ChromeHost { + var chrome by mutableStateOf(null) + private set + + var actions: ScreenActions? = null + private set + + internal fun publish(chrome: ScreenChrome, actions: ScreenActions) { + this.chrome = chrome + this.actions = actions + } +} + +/** The host's chrome, and whether the screen reading it is the one on show rather than one leaving. */ +class ChromeSlot(val host: ChromeHost, val current: Boolean) + +val LocalChromeSlot = staticCompositionLocalOf { null } + +/** Hands [chrome] and [actions] to the host, while this screen is the one on show. */ +@Composable +fun PublishChrome(chrome: ScreenChrome, actions: ScreenActions) { + val slot = LocalChromeSlot.current ?: return + if (slot.current) SideEffect { slot.host.publish(chrome, actions) } +} + +/** The top bar every calendar screen shares. */ +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun CalendarTopBar( + host: ChromeHost, + selectedView: CalendarView, + quickSwitchViews: List, + onCycleView: () -> Unit, + onOpenDrawer: () -> Unit, + onOpenSearch: () -> Unit, + showTodayButton: Boolean, +) { + val chrome = host.chrome + TopAppBar( + title = { + if (chrome != null) { + CalendarTitleButton( + title = chrome.title, + currentDate = chrome.titleDate, + onJumpToDate = { host.actions?.onJumpToDate?.invoke(it) }, + shortTitle = chrome.shortTitle, + ) + } + }, + navigationIcon = { + IconButton(onClick = onOpenDrawer) { + Icon( + imageVector = Icons.Default.Menu, + contentDescription = stringResource(R.string.month_open_menu), + ) + } + }, + actions = { + TodayAction(show = showTodayButton, onToday = { host.actions?.onToday?.invoke() }) + IconButton(onClick = onOpenSearch) { + Icon( + imageVector = Icons.Default.Search, + contentDescription = stringResource(R.string.search_action), + ) + } + ViewSwitcherPill( + current = selectedView, + cycle = quickSwitchViews, + onCycle = onCycleView, + ) + }, + // Deliberately flat: M3 lifts the bar to mark content scrolling under + // it, but here the bar meets the header on the same surface and the + // tint is what makes that seam look like a separate block (#186). + colors = TopAppBarDefaults.topAppBarColors( + containerColor = MaterialTheme.colorScheme.surface, + scrolledContainerColor = MaterialTheme.colorScheme.surface, + ), + ) +} + +/** The FAB column every calendar screen shares. */ +@Composable +fun CalendarFab(host: ChromeHost, todayInToolbar: Boolean) { + val chrome = host.chrome ?: return + CalendarFabColumn( + todayVisible = chrome.awayFromToday && !todayInToolbar, + todayText = chrome.todayText, + onToday = { host.actions?.onToday?.invoke() }, + onCreate = { host.actions?.onCreate?.invoke() }, + ) +} + +/** + * A calendar screen's body under the shared chrome, on the ground the screen's + * own Scaffold used to give it; the host's Scaffold has already made room for + * the bars, so [content] gets no padding of its own. + */ +@Composable +fun ScreenBody(modifier: Modifier = Modifier, content: @Composable (PaddingValues) -> Unit) { + Box(modifier.fillMaxSize().background(MaterialTheme.colorScheme.background)) { + content(PaddingValues()) + } +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarDrawer.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarDrawer.kt index f48f841..e2a1d02 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarDrawer.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarDrawer.kt @@ -91,7 +91,7 @@ fun CalendarDrawer( DrawerSectionHeader(stringResource(R.string.view_section)) viewOrder.forEachIndexed { index, view -> GroupedRow( - title = stringResource(view.labelRes), + title = view.label(), position = positionOf(index, viewOrder.size), selected = view == currentView, minHeight = 56.dp, diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarPager.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarPager.kt new file mode 100644 index 0000000..e6baa6a --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarPager.kt @@ -0,0 +1,57 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.animation.core.Animatable +import androidx.compose.animation.core.FiniteAnimationSpec +import androidx.compose.animation.core.VectorConverter +import androidx.compose.foundation.pager.PagerState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.snapshotFlow +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.lerp +import kotlinx.coroutines.flow.collectLatest +import kotlin.math.floor + +/** + * One height for every page of something that varies from page to page — the + * timelines' all-day strip, the split grid's rows — blended between the two + * pages a swipe sits between, so what sits below it moves with the finger rather + * than jumping on settle. It follows the swipe directly and only springs when a + * page's own height changes at rest. [fallback] stands in until the pages have + * reported theirs, so it doesn't open from zero. + * + * @param heights each composed page's own height, by page index. + */ +@Composable +fun pagedHeight(pagerState: PagerState, heights: Map, fallback: Dp): Dp { + val currentFallback by rememberUpdatedState(fallback) + val target by remember(pagerState, heights) { + derivedStateOf { + val position = pagerState.currentPage + pagerState.currentPageOffsetFraction + val from = floor(position).toInt() + val a = heights[from] + val b = heights[from + 1] + lerp(a ?: b ?: currentFallback, b ?: a ?: currentFallback, position - from) + } + } + val height = remember { Animatable(target, Dp.VectorConverter) } + LaunchedEffect(height) { + snapshotFlow { target to pagerState.isScrollInProgress }.collectLatest { (h, scrolling) -> + if (scrolling) height.snapTo(h) else height.animateTo(h) + } + } + return height.value +} + +/** A deliberate jump (Today, jump-to-date): animated, or snapped under reduced motion. */ +suspend fun PagerState.jumpToPage( + page: Int, + reduceMotion: Boolean, + spec: FiniteAnimationSpec, +) { + if (reduceMotion) scrollToPage(page) else animateScrollToPage(page, animationSpec = spec) +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarSwipe.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarSwipe.kt deleted file mode 100644 index dc15d03..0000000 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarSwipe.kt +++ /dev/null @@ -1,79 +0,0 @@ -package de.jeanlucmakiola.calendula.ui.common - -import androidx.compose.foundation.gestures.detectHorizontalDragGestures -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.input.pointer.pointerInput -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.unit.dp - -/** - * Drag distance that turns a calendar page, shared by the month, week and day - * views so all three answer a swipe at the same point. - * - * It was 6dp once, which is inside the distance a tap wanders: brushing the grid - * changed the month, and a page that turns on an unintended gesture reads as the - * animation misfiring rather than as the gesture being over-eager. - */ -val CALENDAR_SWIPE_THRESHOLD = 24.dp - -/** - * The whole-page horizontal swipe: one page per gesture, committed **the moment - * the drag clears [CALENDAR_SWIPE_THRESHOLD]** rather than when the finger lifts. - * - * Waiting for the lift meant the page sat still under a finger that had already - * travelled far enough to ask for it, and the answer only arrived once you let - * go — which reads as the view being slow rather than as a deliberate commit. - * Firing on the threshold is what makes the gesture feel like it is being - * followed. The trade is that a drag can no longer be taken back by dragging the - * other way; in practice, once you have moved 24dp deliberately you meant it, and - * the page you land on is one swipe back. - * - * Deliberately **horizontal-only**. The week and day timelines scroll vertically - * underneath this, and a two-dimensional detector here would claim those drags - * before the inner scroll ever saw them. As it is, a horizontal drag crosses this - * detector's slop while a vertical one is consumed below, and the two coexist. - * (The month view's split style needs a vertical axis as well, so it keeps its - * own axis-locking detector rather than using this.) - */ -@Composable -fun rememberCalendarPageSwipe( - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, -): Modifier { - val threshold = with(LocalDensity.current) { CALENDAR_SWIPE_THRESHOLD.toPx() } - return Modifier.pointerInput(onSwipeNext, onSwipePrev) { - var accum = 0f - // One page per gesture: without this a long drag would keep re-firing - // every time the accumulator crossed the threshold again. - var fired = false - detectHorizontalDragGestures( - onDragStart = { - accum = 0f - fired = false - }, - onDragEnd = { - accum = 0f - fired = false - }, - onDragCancel = { - accum = 0f - fired = false - }, - onHorizontalDrag = { _, drag -> - accum += drag - if (!fired) { - val commit = when { - accum < -threshold -> onSwipeNext - accum > threshold -> onSwipePrev - else -> null - } - if (commit != null) { - fired = true - commit() - } - } - }, - ) - } -} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTitleButton.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTitleButton.kt index 305f0ec..3f4f890 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTitleButton.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTitleButton.kt @@ -1,5 +1,13 @@ package de.jeanlucmakiola.calendula.ui.common +import androidx.compose.animation.AnimatedContent +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.expandHorizontally +import androidx.compose.animation.shrinkHorizontally +import androidx.compose.animation.SizeTransform +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.togetherWith import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Row @@ -10,12 +18,12 @@ import androidx.compose.material.icons.filled.ArrowDropDown import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text -import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -33,7 +41,8 @@ import kotlinx.datetime.LocalDate * drawer uses and reporting the chosen day through [onJumpToDate]. * * [currentDate] seeds the picker with whatever the bar is currently naming (the - * visible day, week start or month anchor). + * visible day, week start or month anchor); null makes the title a plain label, + * as the agenda's is, and the caret folds away. * * [shortTitle] replaces [title] when the full one does not fit the width the app * bar hands the title slot (#165). Either way the line clamps to one and @@ -42,7 +51,7 @@ import kotlinx.datetime.LocalDate @Composable fun CalendarTitleButton( title: String, - currentDate: LocalDate, + currentDate: LocalDate?, onJumpToDate: (LocalDate) -> Unit, modifier: Modifier = Modifier, shortTitle: String = title, @@ -54,6 +63,7 @@ fun CalendarTitleButton( .heightIn(min = 48.dp) .clip(MaterialTheme.shapes.large) .clickable( + enabled = currentDate != null, onClickLabel = stringResource(R.string.drawer_jump_to_date), role = Role.Button, ) { showDatePicker = true } @@ -71,21 +81,38 @@ fun CalendarTitleButton( availableWidth = constraints.maxWidth, ) } - Text( - text = shown, - style = style, - maxLines = 1, - overflow = TextOverflow.Ellipsis, + // Cross-fades, so switching views or paging turns the title over + // rather than snapping it (#184). + val fadeSpec = rememberCalendarFadeSpec() + AnimatedContent( + targetState = shown, + transitionSpec = { + (fadeIn(fadeSpec) togetherWith fadeOut(fadeSpec)).using(SizeTransform(clip = false)) + }, + contentAlignment = Alignment.CenterStart, + ) { text -> + Text( + text = text, + style = style, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } + } + AnimatedVisibility( + visible = currentDate != null, + enter = fadeIn(rememberCalendarFadeSpec()) + expandHorizontally(), + exit = fadeOut(rememberCalendarFadeSpec()) + shrinkHorizontally(), + ) { + Icon( + imageVector = Icons.Default.ArrowDropDown, + contentDescription = null, + tint = MaterialTheme.colorScheme.onSurfaceVariant, ) } - Icon( - imageVector = Icons.Default.ArrowDropDown, - contentDescription = null, - tint = MaterialTheme.colorScheme.onSurfaceVariant, - ) } - if (showDatePicker) { + if (showDatePicker && currentDate != null) { CalendarDatePickerDialog( initial = currentDate, onConfirm = { diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTransitions.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTransitions.kt index dba9535..9c5c52b 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTransitions.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarTransitions.kt @@ -1,13 +1,7 @@ package de.jeanlucmakiola.calendula.ui.common -import androidx.compose.animation.ContentTransform -import androidx.compose.animation.SizeTransform import androidx.compose.animation.core.FiniteAnimationSpec -import androidx.compose.animation.fadeIn -import androidx.compose.animation.fadeOut -import androidx.compose.animation.slideInHorizontally -import androidx.compose.animation.slideOutHorizontally -import androidx.compose.animation.togetherWith +import androidx.compose.animation.core.spring import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -19,12 +13,12 @@ import androidx.compose.ui.unit.IntOffset * the reduce-motion check — now live in floret-kit's identity module * (`expandEnter`, `collapseExit`, `itemEnter`, `animateItemMotion`, * `fadeThrough`, `Modifier.predictiveBack`, `rememberReduceMotion`). What stays - * here is only what's specific to paging the calendar grid: the directional - * month/week/day slide and the specs that feed it. + * here is only what's specific to paging the calendar grid: the specs its + * pagers settle with, and that the view switch reuses. */ /** - * The M3 Expressive spatial spring used for the month/week/day slide: the + * The M3 Expressive spatial spring the calendar's motion is built on: the * *default* spring-physics spec from the active motion scheme, rather than a * fixed easing curve. * @@ -40,6 +34,12 @@ import androidx.compose.ui.unit.IntOffset fun rememberCalendarSlideSpec(): FiniteAnimationSpec = MaterialTheme.motionScheme.defaultSpatialSpec() +/** The same spring as [rememberCalendarSlideSpec], for a pager settling onto its page. */ +@OptIn(ExperimentalMaterial3ExpressiveApi::class) +@Composable +fun rememberCalendarPageSpec(): FiniteAnimationSpec = + MaterialTheme.motionScheme.defaultSpatialSpec() + /** * The effects spec from the active motion scheme, for the opacity half of the * transition. Captured in composable scope alongside [rememberCalendarSlideSpec] @@ -55,50 +55,17 @@ fun rememberCalendarFadeSpec(): FiniteAnimationSpec = MaterialTheme.motionScheme.defaultEffectsSpec() /** - * Navigating between adjacent months/weeks/days, as M3's shared-axis X: the - * outgoing page slides and fades one way while the incoming one arrives from the - * other, position on a spring and opacity on an easing curve. - * - * @param slideDir +1 = forward (incoming from the right), -1 = back, 0 = jump - * (e.g. "today"); a jump reuses the forward direction. - * @param spec spatial animation spec, typically [rememberCalendarSlideSpec]. - * @param fadeSpec effects spec for the opacity half, and for the whole - * transition under reduced motion; typically - * [rememberCalendarFadeSpec]. - * @param reduceMotion when true, drop the movement and cross-fade alone. + * A switch between views (#184): the default spatial spring, a little softer, as + * the whole screen reshapes rather than a page sliding by; softer still when + * [long], for a change the eye has further to follow. */ -fun calendarSlideTransition( - slideDir: Int, - spec: FiniteAnimationSpec, - fadeSpec: FiniteAnimationSpec, - reduceMotion: Boolean, -): ContentTransform { - if (reduceMotion) { - return fadeIn(fadeSpec).togetherWith(fadeOut(fadeSpec)) - } - val dir = if (slideDir == 0) 1 else slideDir - return ContentTransform( - targetContentEnter = - slideInHorizontally(spec) { w -> dir * w / SLIDE_TRAVEL_DIVISOR } + fadeIn(fadeSpec), - initialContentExit = - slideOutHorizontally(spec) { w -> -dir * w / SLIDE_TRAVEL_DIVISOR } + fadeOut(fadeSpec), - // AnimatedContent clips to the animating container by default, which - // shears the pages against the viewport edge as they pass. Left off even - // where the two pages differ in height — the split grid stands as many - // rows as its month spans (#162) — since a page sliding out over the row - // below it reads as travel, and the shear reads as a fault. - sizeTransform = SizeTransform(clip = false), +@Composable +fun rememberViewSwitchSpec(long: Boolean = false): FiniteAnimationSpec = + spring( + dampingRatio = VIEW_SWITCH_DAMPING, + stiffness = if (long) LONG_VIEW_SWITCH_STIFFNESS else VIEW_SWITCH_STIFFNESS, ) -} -/** - * How far a page travels, as a fraction of the container width. - * - * A full width was the obvious reading of "paging", but the two pages are - * stacked and both opaque, so a full-width slide showed one grid racing across - * another — the movement carried the whole transition and had a long way to go. - * Under M3's shared-axis pattern the offset only has to *hint* the direction - * while the cross-fade does the swapping, so a fifth of the width is plenty and - * leaves nothing skating past. - */ -private const val SLIDE_TRAVEL_DIVISOR = 5 +private const val VIEW_SWITCH_DAMPING = 0.9f +private const val VIEW_SWITCH_STIFFNESS = 450f +private const val LONG_VIEW_SWITCH_STIFFNESS = 340f diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarView.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarView.kt index 18bb606..7715ee2 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarView.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/CalendarView.kt @@ -1,37 +1,53 @@ package de.jeanlucmakiola.calendula.ui.common -import androidx.annotation.StringRes import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.CalendarViewDay import androidx.compose.material.icons.filled.CalendarViewMonth import androidx.compose.material.icons.filled.CalendarViewWeek import androidx.compose.material.icons.filled.ViewAgenda +import androidx.compose.material.icons.filled.ViewColumn +import androidx.compose.runtime.Composable +import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.pluralStringResource +import androidx.compose.ui.res.stringResource import de.jeanlucmakiola.calendula.R +import de.jeanlucmakiola.calendula.data.prefs.SettingsPrefs /** The top-level calendar views the user can switch between (spec M1). */ enum class CalendarView { Month, Week, + MultiDay, Day, Agenda, } -/** Switcher label, shared by the top-bar pill and the drawer's View section. */ -@get:StringRes -val CalendarView.labelRes: Int - get() = when (this) { - CalendarView.Month -> R.string.view_month - CalendarView.Week -> R.string.view_week - CalendarView.Day -> R.string.view_day - CalendarView.Agenda -> R.string.view_agenda +/** How many days the multi-day view shows (#193), provided once at the app root. */ +val LocalMultiDayCount = staticCompositionLocalOf { SettingsPrefs.DEFAULT_MULTI_DAY_COUNT } + +/** + * The view's name, shared by the top-bar pill, the drawer and Settings. The + * multi-day view is named after its day count ("3 days"). + */ +@Composable +fun CalendarView.label(): String = when (this) { + CalendarView.Month -> stringResource(R.string.view_month) + CalendarView.Week -> stringResource(R.string.view_week) + CalendarView.MultiDay -> { + val count = LocalMultiDayCount.current + pluralStringResource(R.plurals.view_multi_day, count, count) } + CalendarView.Day -> stringResource(R.string.view_day) + CalendarView.Agenda -> stringResource(R.string.view_agenda) +} /** Leading icon for the view in the drawer's View section. */ val CalendarView.icon: ImageVector get() = when (this) { CalendarView.Month -> Icons.Filled.CalendarViewMonth CalendarView.Week -> Icons.Filled.CalendarViewWeek + CalendarView.MultiDay -> Icons.Filled.ViewColumn CalendarView.Day -> Icons.Filled.CalendarViewDay CalendarView.Agenda -> Icons.Filled.ViewAgenda } @@ -41,7 +57,13 @@ val CalendarView.icon: ImageVector * through these in order. */ val IMPLEMENTED_VIEWS: List = - listOf(CalendarView.Month, CalendarView.Week, CalendarView.Day, CalendarView.Agenda) + listOf( + CalendarView.Month, + CalendarView.Week, + CalendarView.MultiDay, + CalendarView.Day, + CalendarView.Agenda, + ) /** Next view in [available], wrapping around. Falls back to Month if absent. */ fun CalendarView.next(available: List = IMPLEMENTED_VIEWS): CalendarView { @@ -107,3 +129,16 @@ fun viewBaseStack(default: CalendarView, source: CalendarView): List.drillToDay(): List = if (lastOrNull() == CalendarView.Day) this else this + CalendarView.Day + +/** The screens the views are drawn by: the day, multi-day and week views share one timeline (#184). */ +enum class ViewScreen { Month, Timeline, Agenda } + +val CalendarView.screen: ViewScreen + get() = when (this) { + CalendarView.Month -> ViewScreen.Month + CalendarView.Agenda -> ViewScreen.Agenda + CalendarView.Week, CalendarView.MultiDay, CalendarView.Day -> ViewScreen.Timeline + } +/** Push the week view over the month after a week-number tap. */ +fun List.drillToWeek(): List = + if (lastOrNull() == CalendarView.Week) this else this + CalendarView.Week diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/HourGrid.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/HourGrid.kt index 330fb43..fe933e5 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/HourGrid.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/HourGrid.kt @@ -59,7 +59,11 @@ internal fun hourCellRadiusPx(cellHeight: Float, cellWidth: Float, maxRadius: Fl * coordinate space and keep spanning cells. [hourHeightPx] is one hour's pixel * height; [color] is resolved by the caller from the theme. */ -fun Modifier.hourGridCells(show: Boolean, hourHeightPx: Float, color: Color): Modifier = +fun Modifier.hourGridCells( + show: Boolean, + hourHeightPx: Float, + color: Color, +): Modifier = if (!show) { this } else { @@ -71,10 +75,11 @@ fun Modifier.hourGridCells(show: Boolean, hourHeightPx: Float, color: Color): Mo hourCellRadiusPx(cellHeight, size.width, HOUR_CELL_CORNER.toPx()), ) val cellSize = Size(size.width, cellHeight) + val top = inset for (hour in 0 until 24) { drawRoundRect( color = color, - topLeft = Offset(0f, hour * hourHeightPx + inset), + topLeft = Offset(0f, hour * hourHeightPx + top), size = cellSize, cornerRadius = radius, ) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdges.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdges.kt new file mode 100644 index 0000000..7954e3c --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdges.kt @@ -0,0 +1,328 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.animation.core.FiniteAnimationSpec +import androidx.compose.foundation.ScrollState +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.Stable +import androidx.compose.runtime.SideEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.onClick +import androidx.compose.ui.semantics.role +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.unit.IntOffset +import androidx.compose.ui.unit.dp +import de.jeanlucmakiola.calendula.R +import de.jeanlucmakiola.calendula.ui.week.TimedBlock +import de.jeanlucmakiola.floret.identity.rememberReduceMotion +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch +import kotlin.math.roundToInt + +/** Thickness of the out-of-view edge bar. */ +private val EDGE_BAR_THICKNESS = 3.dp + +/** Band the bar sits in, and the room a revealed event keeps from the edge. */ +private val EDGE_TOUCH_HEIGHT = 24.dp + +/** How far from the viewport's edge a tap on empty column still hits the bar. */ +private val EDGE_TAP_REACH = 16.dp + +/** + * How far the bar sits in from the viewport's edges — enough to clear the + * timeline's rounded 16dp corners on the outer columns. + */ +private val EDGE_BAR_VERTICAL_INSET = 4.dp +private val EDGE_BAR_HORIZONTAL_INSET = 6.dp + +/** Distance outside the viewport over which a bar fades before its event appears. */ +private val EDGE_FADE_LEAD = 24.dp + +/** The nearest timed blocks wholly above and below a column's viewport. */ +@Immutable +data class OutOfViewEvents(val above: TimedBlock?, val below: TimedBlock?) { + companion object { + val None = OutOfViewEvents(null, null) + } +} + +/** Which edge of the viewport a hidden event sits past. */ +enum class ViewportEdge { Top, Bottom } + +/** Where [block]'s rendered bottom lands, in minutes — short blocks keep a floor. */ +internal fun renderedEndMin(block: TimedBlock): Float = + maxOf(block.endMin.toFloat(), block.startMin + MIN_EVENT_FRACTION * 60f) + +/** + * The blocks of one column lying out of a viewport spanning [topMin]..[bottomMin] + * (minutes of the day), nearest first. A block leaves this set as soon as any + * part of its rendered height enters the viewport. + */ +fun outOfViewEvents( + blocks: List, + topMin: Float, + bottomMin: Float, +): OutOfViewEvents { + val above = blocks + .filter { renderedEndMin(it) <= topMin } + .maxWithOrNull(compareBy({ renderedEndMin(it) }, { it.startMin })) + val below = blocks + .filter { it.startMin >= bottomMin } + .minWithOrNull(compareBy({ it.startMin }, { -renderedEndMin(it) })) + return OutOfViewEvents(above, below) +} + +/** + * The scroll offset that brings [block] into a [viewportPx]-tall viewport from + * past [edge], with [marginPx] of room so it clears the edge bar. An event above + * lands with its start at the top; one below lands whole at the bottom when it + * fits, and with its start at the top when it does not. + */ +fun revealScrollTarget( + block: TimedBlock, + edge: ViewportEdge, + hourPx: Float, + viewportPx: Int, + marginPx: Float, + maxScroll: Int, +): Int { + val startPx = block.startMin / 60f * hourPx + val endPx = renderedEndMin(block) / 60f * hourPx + val target = when (edge) { + ViewportEdge.Top -> startPx - marginPx + ViewportEdge.Bottom -> minOf(endPx + marginPx - viewportPx, startPx - marginPx) + } + return target.roundToInt().coerceIn(0, maxOf(maxScroll, 0)) +} + +/** + * The edge whose bar a tap at [y] (content px) lands on, if that bar is showing + * and the tap is within [reachPx] of the viewport's edge. + */ +fun tappedEdge( + events: OutOfViewEvents, + y: Float, + viewportTop: Float, + viewportPx: Int, + reachPx: Float, +): ViewportEdge? = when { + events.above != null && y - viewportTop <= reachPx -> ViewportEdge.Top + events.below != null && viewportTop + viewportPx - y <= reachPx -> ViewportEdge.Bottom + else -> null +} + +/** Fade while the event is still outside; never draw its bar at the boundary. */ +internal fun edgeBarAlpha(gapPx: Float, fadeLeadPx: Float): Float = when { + gapPx <= 0f -> 0f + fadeLeadPx <= 0f -> 1f + else -> (gapPx / fadeLeadPx).coerceIn(0f, 1f) +} + +/** + * The out-of-view state of one day column (#188): which events hide past its + * edges, and the scroll that reveals them. + * + * The bars take no touches themselves, so event blocks under them keep their + * taps and drags; the column's own tap handler offers taps to [tap] first. + */ +@Stable +class OutOfViewEdges internal constructor( + private val scrollState: ScrollState, + private val scope: CoroutineScope, +) { + internal var blocks by mutableStateOf(emptyList()) + internal var hourPx by mutableFloatStateOf(0f) + internal var fadeLeadPx by mutableFloatStateOf(0f) + internal var marginPx by mutableFloatStateOf(0f) + internal var reachPx by mutableFloatStateOf(0f) + internal var reduceMotion = false + internal var revealSpec: FiniteAnimationSpec? = null + + val events: OutOfViewEvents by derivedStateOf { + val viewport = scrollState.viewportSize + if (viewport <= 0 || hourPx <= 0f) { + OutOfViewEvents.None + } else { + val top = scrollState.value.toFloat() + outOfViewEvents( + blocks = blocks, + topMin = top / hourPx * 60f, + bottomMin = (top + viewport) / hourPx * 60f, + ) + } + } + + /** Scrolls the event hidden past [edge] into view, if there is one. */ + fun reveal(edge: ViewportEdge) { + val block = if (edge == ViewportEdge.Top) events.above else events.below + block ?: return + val target = revealScrollTarget( + block = block, + edge = edge, + hourPx = hourPx, + viewportPx = scrollState.viewportSize, + marginPx = marginPx, + maxScroll = scrollState.maxValue, + ) + val spec = revealSpec + scope.launch { + if (reduceMotion || spec == null) { + scrollState.scrollTo(target) + } else { + scrollState.animateScrollTo(target, spec) + } + } + } + + /** Reveals the hidden event if a tap at [y] (content px) lands on a bar. */ + fun tap(y: Float): Boolean { + val edge = tappedEdge( + events = events, + y = y, + viewportTop = scrollState.value.toFloat(), + viewportPx = scrollState.viewportSize, + reachPx = reachPx, + ) ?: return false + reveal(edge) + return true + } +} + +@Composable +fun rememberOutOfViewEdges( + blocks: List, + scrollState: ScrollState, + hourPx: Float, +): OutOfViewEdges { + val scope = rememberCoroutineScope() + val edges = remember(scrollState, scope) { OutOfViewEdges(scrollState, scope) } + val density = LocalDensity.current + val reduceMotion = rememberReduceMotion() + val revealSpec = rememberCalendarPageSpec() + SideEffect { + edges.blocks = blocks + edges.hourPx = hourPx + edges.fadeLeadPx = with(density) { EDGE_FADE_LEAD.toPx() } + edges.marginPx = with(density) { EDGE_TOUCH_HEIGHT.roundToPx().toFloat() } + edges.reachPx = with(density) { EDGE_TAP_REACH.toPx() } + edges.reduceMotion = reduceMotion + edges.revealSpec = revealSpec + } + return edges +} + +/** + * Thin bars at the top and bottom of a day column's visible viewport, tinted in + * the colour of the nearest timed event hidden past that edge (#188). + * + * Lives inside the column's scrolling content and follows the viewport by + * offsetting against [scrollState] at placement rather than recomposing every + * frame. Opacity follows the gap to the hidden event and reaches zero before + * the event enters view. Taps reach it through [OutOfViewEdges.tap]; screen + * readers get a button. + */ +@Composable +fun BoxScope.OutOfViewEdgeBars( + edges: OutOfViewEdges, + scrollState: ScrollState, + dark: Boolean, +) { + val touchPx = with(LocalDensity.current) { EDGE_TOUCH_HEIGHT.roundToPx() } + val events = edges.events + EdgeBar( + block = events.above, + edge = ViewportEdge.Top, + dark = dark, + onReveal = edges::reveal, + scrollState = scrollState, + hourPx = edges.hourPx, + fadeLeadPx = edges.fadeLeadPx, + modifier = Modifier + .align(Alignment.TopStart) + .offset { IntOffset(0, scrollState.value) }, + ) + EdgeBar( + block = events.below, + edge = ViewportEdge.Bottom, + dark = dark, + onReveal = edges::reveal, + scrollState = scrollState, + hourPx = edges.hourPx, + fadeLeadPx = edges.fadeLeadPx, + modifier = Modifier + .align(Alignment.TopStart) + .offset { IntOffset(0, scrollState.value + scrollState.viewportSize - touchPx) }, + ) +} + +@Composable +private fun EdgeBar( + block: TimedBlock?, + edge: ViewportEdge, + dark: Boolean, + onReveal: (ViewportEdge) -> Unit, + scrollState: ScrollState, + hourPx: Float, + fadeLeadPx: Float, + modifier: Modifier = Modifier, +) { + block ?: return + val color = eventFill(block.event.color, dark, LocalSoftenColors.current) + val label = stringResource( + if (edge == ViewportEdge.Top) R.string.timeline_earlier_events else R.string.timeline_later_events, + ) + Box( + modifier = modifier + .fillMaxWidth() + .height(EDGE_TOUCH_HEIGHT) + .graphicsLayer { + val gapPx = when (edge) { + ViewportEdge.Top -> scrollState.value - renderedEndMin(block) / 60f * hourPx + ViewportEdge.Bottom -> block.startMin / 60f * hourPx - + (scrollState.value + scrollState.viewportSize) + } + alpha = edgeBarAlpha(gapPx, fadeLeadPx) + } + .semantics { + role = Role.Button + contentDescription = label + onClick { + onReveal(edge) + true + } + }, + contentAlignment = if (edge == ViewportEdge.Top) Alignment.TopCenter else Alignment.BottomCenter, + ) { + Box( + modifier = Modifier + .fillMaxWidth() + .padding( + horizontal = EDGE_BAR_HORIZONTAL_INSET, + vertical = EDGE_BAR_VERTICAL_INSET, + ) + .height(EDGE_BAR_THICKNESS) + .background(color, CircleShape), + ) + } +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/PageStateCache.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/PageStateCache.kt new file mode 100644 index 0000000..8358820 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/PageStateCache.kt @@ -0,0 +1,53 @@ +package de.jeanlucmakiola.calendula.ui.common + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.plus + +/** + * One shared state per pager page — a week, a day, a month — so a page and the + * screen's anchor read the same query, and the pages either side stay loaded + * across a swipe. + * + * Every entry shares on its own job, cancelled when [keep] lets it go: a + * `stateIn` on the ViewModel's scope would stay running, holding its last state, + * until the ViewModel itself was cleared. Main thread only. + * + * @param keep whether a cached key is still worth holding once [get] asks for another. + */ +class PageStateCache( + private val scope: CoroutineScope, + private val initial: S, + private val keep: (cached: K, requested: K) -> Boolean, + private val load: (K) -> Flow, +) { + private class Entry(val state: StateFlow, val job: Job) + + private val entries = HashMap>() + + /** The number of entries held, for tests. */ + internal val size: Int get() = entries.size + + fun get(key: K): StateFlow { + val iterator = entries.iterator() + while (iterator.hasNext()) { + val (cached, entry) = iterator.next() + if (cached != key && !keep(cached, key)) { + entry.job.cancel() + iterator.remove() + } + } + return entries.getOrPut(key) { + val job = SupervisorJob(scope.coroutineContext[Job]) + Entry( + state = load(key).stateIn(scope + job, SharingStarted.WhileSubscribed(5_000L), initial), + job = job, + ) + }.state + } +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineDrag.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineDrag.kt index 5ee2863..0f2fae4 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineDrag.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineDrag.kt @@ -284,8 +284,8 @@ class TimelineGeometry { } /** - * Hoisted drag state for one timeline (#68). It lives above the per-page - * `AnimatedContent`, so a page change mid-drag can't strand a ghost, and the + * Hoisted drag state for one timeline (#68). It lives above the pager, so a + * page change mid-drag can't strand a ghost, and the * block it renders is drawn in an overlay, clear of the day column's clip. */ @Stable @@ -710,7 +710,7 @@ fun TimelineDragOverlay(controller: TimelineDragController, modifier: Modifier = val startMin = drag.eventStartMin.mod(MINUTES_PER_DAY) val rawEnd = startMin + drag.eventSpanMin val endMin = if (rawEnd > MINUTES_PER_DAY) rawEnd % MINUTES_PER_DAY else rawEnd - val label = "${formatMinuteOfDay(startMin, use24Hour, locale)}–" + + val range = formatMinuteOfDay(startMin, use24Hour, locale) to formatMinuteOfDay(endMin, use24Hour, locale) // The timeline's own bounds. The copy is drawn over the whole calendar // so no column clip or rounded corner cuts it, but it still belongs to @@ -764,7 +764,7 @@ fun TimelineDragOverlay(controller: TimelineDragController, modifier: Modifier = title = title, titleLines = drag.titleLines, // Once for the whole event: repeated, it would name it per day. - label = label.takeIf { index == labelled }, + range = range.takeIf { index == labelled }, ) } } @@ -784,7 +784,7 @@ private fun DragCopy( alpha: Float, title: String, titleLines: Int, - label: String?, + range: Pair?, ) { val density = LocalDensity.current val width = with(density) { sizePx.width.toDp() } @@ -814,6 +814,7 @@ private fun DragCopy( ) } val left = metrics.available - metrics.titleHeight(lines) + val label = range?.let { rememberBlockTimeRange(it.first, it.second, textWidth) } val showTime = label != null && left >= metrics.timeLine val timeMaxLines = if (showTime) { blockTimeLines(label!!, textWidth, left - metrics.timeLine) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineHours.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineHours.kt new file mode 100644 index 0000000..1efb986 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineHours.kt @@ -0,0 +1,58 @@ +package de.jeanlucmakiola.calendula.ui.common + +import kotlin.math.abs +import kotlin.math.roundToInt + +/** + * The hours the week and day timelines fit to the screen when they open (#322). + * + * Nothing outside the range is hidden: [TimelineScale.FitHours] only sizes the + * hour so that [startHour]..[endHour] fills the viewport, and the timeline opens + * scrolled to [startHour]. The hours are kept when [enabled] is switched off, so + * switching it back on restores the chosen range. + */ +data class TimelineHours( + val enabled: Boolean = false, + val startHour: Int = DEFAULT_START_HOUR, + val endHour: Int = DEFAULT_END_HOUR, +) { + val span: Int get() = endHour - startHour + + companion object { + const val DEFAULT_START_HOUR = 7 + const val DEFAULT_END_HOUR = 22 + + /** Shortest range that can be chosen, in hours. */ + const val MIN_SPAN = 2 + + /** + * A range with [startHour] and [endHour] held to the day and at least + * [MIN_SPAN] apart; the start gives way when the two collide. + */ + fun of(enabled: Boolean, startHour: Int, endHour: Int): TimelineHours { + val end = endHour.coerceIn(MIN_SPAN, 24) + val start = startHour.coerceIn(0, end - MIN_SPAN) + return TimelineHours(enabled, start, end) + } + + /** Start hours that still leave [MIN_SPAN] before [endHour]. */ + fun startOptions(endHour: Int): List = (0..endHour - MIN_SPAN).toList() + + /** End hours at least [MIN_SPAN] after [startHour]; 24 is midnight. */ + fun endOptions(startHour: Int): List = (startHour + MIN_SPAN..24).toList() + } +} + +/** + * The scroll offset that puts [startHour] at the top of a timeline laid out + * with [maxValue] scroll range over a [viewportPx] viewport, or null while that + * layout is not yet at [hourPx] per hour — the scale changes a frame before the + * content grows to match it, and scrolling against the old layout would land on + * the wrong hour. + */ +internal fun startHourScroll(maxValue: Int, viewportPx: Int, startHour: Int, hourPx: Float): Int? { + if (viewportPx <= 0 || maxValue < 0 || maxValue == Int.MAX_VALUE) return null + val laidOutHourPx = (maxValue + viewportPx) / 24f + if (abs(laidOutHourPx - hourPx) > 1f) return null + return (startHour * laidOutHourPx).roundToInt().coerceIn(0, maxValue) +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScale.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScale.kt index d7c69f1..227e5f6 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScale.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScale.kt @@ -38,6 +38,12 @@ sealed interface TimelineScale { /** A height the user pinched to. Build it through [custom], which clamps. */ data class Custom(val hourHeight: Dp) : TimelineScale + /** + * [startHour]..[endHour] fills the viewport (#322). Applied when a timeline + * opens with [TimelineHours] on, never picked from the preset list. + */ + data class FitHours(val startHour: Int, val endHour: Int) : TimelineScale + companion object { /** The named steps the settings picker offers, coarse to roomy. */ val presets: List = listOf(FitDay, Compact, Regular, Comfortable) @@ -74,6 +80,9 @@ fun TimelineScale.hourHeight(viewportHeight: Dp): Dp = when (this) { is TimelineScale.Custom -> this.hourHeight .coerceAtMost(MAX_PINCH_HOUR_HEIGHT) .coerceAtLeast(fillHourHeight(viewportHeight)) + is TimelineScale.FitHours -> (viewportHeight / (endHour - startHour).coerceIn(1, 24).toFloat()) + .coerceAtMost(MAX_PINCH_HOUR_HEIGHT) + .coerceAtLeast(fillHourHeight(viewportHeight)) } /** @@ -134,6 +143,7 @@ val TimelineScale.labelRes: Int TimelineScale.Regular -> R.string.timeline_scale_regular TimelineScale.Comfortable -> R.string.timeline_scale_comfortable is TimelineScale.Custom -> R.string.timeline_scale_custom + is TimelineScale.FitHours -> R.string.settings_visible_hours } @get:StringRes @@ -144,11 +154,15 @@ val TimelineScale.descriptionRes: Int TimelineScale.Regular -> R.string.timeline_scale_regular_summary TimelineScale.Comfortable -> R.string.timeline_scale_comfortable_summary is TimelineScale.Custom -> R.string.timeline_scale_custom_summary + is TimelineScale.FitHours -> R.string.settings_visible_hours_summary } /** Marks a stored custom height; the rest of the value is its dp. */ private const val CUSTOM_PREFIX = "custom:" +/** Marks a stored hour range, as `start-end`. */ +private const val HOURS_PREFIX = "hours:" + /** * Stored names for the presets. Spelled out rather than taken from `toString()` * so R8 can't rename them out from under an existing install — and they match @@ -171,6 +185,7 @@ private val PRESET_NAMES: Map = mapOf( */ fun TimelineScale.storageValue(): String = when (this) { is TimelineScale.Custom -> CUSTOM_PREFIX + hourHeight.value + is TimelineScale.FitHours -> "$HOURS_PREFIX$startHour-$endHour" TimelineScale.FitDay, TimelineScale.Compact, TimelineScale.Regular, @@ -188,5 +203,11 @@ fun parseTimelineScale(stored: String?): TimelineScale = when { stored.startsWith(CUSTOM_PREFIX) -> stored.removePrefix(CUSTOM_PREFIX).toFloatOrNull() ?.let { TimelineScale.custom(it.dp) } ?: TimelineScale.Regular + stored.startsWith(HOURS_PREFIX) -> stored.removePrefix(HOURS_PREFIX).split('-') + .mapNotNull { it.toIntOrNull() } + .takeIf { it.size == 2 } + ?.let { (start, end) -> TimelineHours.of(enabled = true, start, end) } + ?.let { TimelineScale.FitHours(it.startHour, it.endHour) } + ?: TimelineScale.Regular else -> PRESET_NAMES.entries.firstOrNull { it.value == stored }?.key ?: TimelineScale.Regular } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScroll.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScroll.kt new file mode 100644 index 0000000..7282db7 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineScroll.kt @@ -0,0 +1,111 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.foundation.ScrollState +import androidx.compose.foundation.rememberScrollState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.Stable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.snapshotFlow +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Dp +import kotlinx.coroutines.flow.filterNotNull +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withTimeoutOrNull +import kotlin.math.roundToInt + +/** + * Where 00:00 sat in the last timeline shown, measured from the top of its + * view's content, so the next timeline view opens on the same hours (#184): an + * event in both keeps its place and only grows sideways. + */ +class TimelineScrollMemory { + var midnightY: Float? = null +} + +val LocalTimelineScroll = staticCompositionLocalOf { null } + +/** A timeline's scroll, and where it opens before it can scroll there. */ +@Stable +class TimelineScroll(val state: ScrollState, noonPending: Boolean, private val openingHour: Int?) { + /** Whether it is still to be put on noon, which it only can be once laid out. */ + var noonPending by mutableStateOf(noonPending) + internal set + + /** The top of what it shows, or will once open, over [content] pixels in a [viewport] pixels high. */ + fun top(viewport: Float, content: Float): Float = + if (noonPending) { + (openingHour?.let { it * content / 24f } ?: (content - viewport) / 2f) + .coerceIn(0f, (content - viewport).coerceAtLeast(0f)) + } else state.value.toFloat() +} + +val LocalOpeningTimeline = staticCompositionLocalOf { null } + +/** + * The scroll state of a timeline whose scrolling area starts [timelineTop] below + * its view's content top. Opens where the last timeline left off, or on noon the + * first time. + */ +@Composable +fun rememberTimelineScrollState(timelineTop: Dp): TimelineScroll { + val memory = LocalTimelineScroll.current + val density = LocalDensity.current + val zoom = LocalTimelineZoom.current + val topPx = with(density) { timelineTop.toPx() } + val remembered = memory?.midnightY + val scrollState = rememberScrollState( + initial = remembered?.let { (topPx - it).roundToInt().coerceAtLeast(0) } ?: 0, + ) + val scroll = remember(scrollState) { + TimelineScroll( + scrollState, + noonPending = remembered == null, + openingHour = zoom.hours.takeIf { it.enabled }?.startHour, + ) + } + val currentTop by rememberUpdatedState(topPx) + var firstOpen by remember(scrollState) { mutableStateOf(true) } + LaunchedEffect(scrollState, zoom, zoom.hours) { + if (firstOpen && remembered != null) { + firstOpen = false + return@LaunchedEffect + } + firstOpen = false + val startHour = zoom.open() + if (startHour == null) { + snapshotFlow { scrollState.maxValue }.first { it > 0 } + scrollState.scrollTo(scrollState.maxValue / 2) + } else { + // Fitted to the scroll viewport itself: the layout resolves scales + // against the viewport plus the all-day strip, which would push the + // end hour below the screen. + val viewport = snapshotFlow { scrollState.viewportSize }.first { it > 0 } + val hourHeight = zoom.scale.hourHeight(with(density) { viewport.toDp() }) + zoom.holdFit(hourHeight) + val hourPx = with(density) { hourHeight.toPx() } + val target = withTimeoutOrNull(FIT_LAYOUT_TIMEOUT_MILLIS) { + snapshotFlow { + startHourScroll(scrollState.maxValue, scrollState.viewportSize, startHour, hourPx) + }.filterNotNull().first() + } ?: (startHour * (scrollState.maxValue + scrollState.viewportSize) / 24) + .coerceIn(0, scrollState.maxValue.coerceAtLeast(0)) + scrollState.scrollTo(target) + } + scroll.noonPending = false + } + if (memory != null) { + LaunchedEffect(scrollState, memory) { + snapshotFlow { currentTop - scrollState.value }.collect { memory.midnightY = it } + } + } + return scroll +} + +/** How long an opening timeline waits to be laid out at its fitted hours before scrolling anyway. */ +private const val FIT_LAYOUT_TIMEOUT_MILLIS = 500L diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineZoom.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineZoom.kt index 69527f9..3b6d3e6 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineZoom.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TimelineZoom.kt @@ -49,13 +49,49 @@ class TimelineZoom( var isPinching: Boolean by mutableStateOf(false) private set + /** The visible-hours preference (#322); a timeline re-fits when it changes. */ + var hours: TimelineHours by mutableStateOf(TimelineHours()) + private set + + private var stored: TimelineScale = initial + /** * Take a value that came from the preference. Ignored mid-pinch: the stored * value is a frame or two behind the fingers there, and letting it land would - * snap the timeline back while the user is still pinching. + * snap the timeline back while the user is still pinching. With visible + * hours on it is only remembered, so a late-arriving preference can't undo + * the fit a timeline just opened with. */ fun adopt(stored: TimelineScale) { - if (!isPinching) scale = stored + this.stored = stored + if (!isPinching && !hours.enabled) scale = stored + } + + /** Take the visible-hours preference; switching it off hands back the stored scale. */ + fun adoptHours(hours: TimelineHours) { + val wasEnabled = this.hours.enabled + this.hours = hours + if (wasEnabled && !hours.enabled && !isPinching) scale = stored + } + + /** + * A timeline is opening. With visible hours on, the range replaces whatever + * scale is in force — a stored preset and a pinch alike — and its start hour + * is returned for the timeline to scroll to; otherwise null. + */ + fun open(): Int? { + val hours = hours + if (!hours.enabled) return null + if (!isPinching) scale = TimelineScale.FitHours(hours.startHour, hours.endHour) + return hours.startHour + } + + /** + * Holds the height [open] fitted, so a viewport that changes afterwards (the + * all-day strip following a swipe) doesn't rescale the hours under the scroll. + */ + fun holdFit(hourHeight: Dp) { + if (!isPinching && scale is TimelineScale.FitHours) scale = TimelineScale.Custom(hourHeight) } fun beginPinch() { @@ -66,9 +102,10 @@ class TimelineZoom( scale = TimelineScale.custom(hourHeight) } + /** Settles the pinch. With visible hours on it only lasts until the next [open]. */ fun endPinch() { isPinching = false - persist(scale) + if (!hours.enabled) persist(scale) } } @@ -82,16 +119,18 @@ private val DetachedTimelineZoom by lazy { TimelineZoom(TimelineScale.Regular) { val LocalTimelineZoom = staticCompositionLocalOf { DetachedTimelineZoom } /** - * The app-wide [TimelineZoom], seeded from [stored] and writing settled pinches - * back through [onPersist]. + * The app-wide [TimelineZoom], seeded from [stored] and [hours] and writing + * settled pinches back through [onPersist]. */ @Composable fun rememberTimelineZoom( stored: TimelineScale, + hours: TimelineHours, onPersist: (TimelineScale) -> Unit, ): TimelineZoom { val persist by rememberUpdatedState(onPersist) val zoom = remember { TimelineZoom(stored) { persist(it) } } + LaunchedEffect(hours) { zoom.adoptHours(hours) } // Picking a preset in Settings has to reach the timelines, and so does the // stored value arriving after the first frame. LaunchedEffect(stored) { zoom.adopt(stored) } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TodayAction.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TodayAction.kt index 583ee4a..d1b27d4 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TodayAction.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/TodayAction.kt @@ -7,9 +7,9 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.IconButton import androidx.compose.material3.LocalContentColor import androidx.compose.material3.Text +import androidx.compose.runtime.getValue import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf -import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -59,7 +59,8 @@ fun TodayAction(show: Boolean, onToday: () -> Unit) { val description = stringResource(R.string.today_jump_action) IconButton( onClick = onToday, - modifier = Modifier.semantics { contentDescription = description }, + modifier = Modifier + .semantics { contentDescription = description }, ) { val textSize = with(LocalDensity.current) { GlyphTextHeight.toSp() } Box( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewFocus.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewFocus.kt new file mode 100644 index 0000000..27bf4a0 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewFocus.kt @@ -0,0 +1,49 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Stable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.Saver +import androidx.compose.runtime.setValue +import androidx.compose.runtime.staticCompositionLocalOf +import kotlinx.datetime.LocalDate + +/** + * The date every calendar view is looking at (#184), so switching views keeps + * the same days on screen and what is shown in both can travel between them. + * + * A view reads it once, as it comes on screen, and writes it back only when the + * user moves: a view settling where it opened must not nudge it, or switching + * back and forth would drift. + */ +@Stable +class ViewFocus(initial: LocalDate) { + var date by mutableStateOf(initial) + /** Explicit navigation, including a request for the view already on screen. */ + var navigationVersion by mutableStateOf(0) + private set + + fun navigateTo(target: LocalDate) { + date = target + navigationVersion++ + } +} + +val ViewFocusSaver: Saver = Saver( + save = { it.date.toString() }, + restore = { ViewFocus(LocalDate.parse(it)) }, +) + +val LocalViewFocus = staticCompositionLocalOf { null } + +/** + * Runs [enter] with the focused date once, as the view comes on screen, before + * it reads its own position: its first frame is then already on that date. + */ +@Composable +fun EnterOnFocus(key: T, enter: (LocalDate) -> Unit) { + val focus = LocalViewFocus.current + remember(key) { focus?.date?.also(enter) } +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewMorph.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewMorph.kt new file mode 100644 index 0000000..9460bfc --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewMorph.kt @@ -0,0 +1,177 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.animation.AnimatedVisibilityScope +import androidx.compose.animation.BoundsTransform +import androidx.compose.animation.ExperimentalSharedTransitionApi +import androidx.compose.animation.SharedTransitionScope +import androidx.compose.animation.core.FiniteAnimationSpec +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.compositionLocalOf +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.mutableStateSetOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Rect +import androidx.compose.ui.graphics.Path +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.LayoutDirection +import de.jeanlucmakiola.calendula.domain.EventInstance +import kotlinx.datetime.LocalDate + +/** + * What the views share when switching between them (#184): an event visible in + * both grows from where it sat into where it lands, a date label travels to its + * new seat, and everything else fades through. + * + * An element is tagged with the day it is drawn *from*, not just its instance: a + * multi-day event is drawn once per day, per week row or per timeline column, + * and only one element per key may take part. The segment that starts on the + * same day in both views is the one that travels; the rest fade where they are. + */ +sealed interface ViewMorphKey { + data class Event(val eventId: Long, val beginMillis: Long, val day: LocalDate) : ViewMorphKey + + data class Day(val date: LocalDate) : ViewMorphKey + + + companion object { + /** [event]'s occurrence as drawn from [day]. */ + fun event(event: EventInstance, day: LocalDate): Event = + Event(event.eventId, event.start.toEpochMilliseconds(), day) + } +} + +/** The view switch's scopes and specs, captured where they exist. Null under reduced motion. */ +@OptIn(ExperimentalSharedTransitionApi::class) +class ViewMorphScope( + val shared: SharedTransitionScope, + val visibility: AnimatedVisibilityScope, + val boundsTransform: BoundsTransform, + val fadeSpec: FiniteAnimationSpec, + val clip: BelowTopBarClip, + val stayingPut: StayingPut, + /** Read while matching, so a tag can sit out without leaving the modifier chain. */ + val enabled: () -> Boolean = { true }, +) { + /** This scope with its tags switched off while [enabled] is false. */ + fun gated(enabled: () -> Boolean): ViewMorphScope = + ViewMorphScope(shared, visibility, boundsTransform, fadeSpec, clip, stayingPut, enabled) + + internal val config = object : SharedTransitionScope.SharedContentConfig { + override val SharedTransitionScope.SharedContentState.isEnabled: Boolean + get() = enabled() + } +} + +/** + * The events a view has but keeps out of the switch, being scrolled out of + * sight: the other view leaves them untagged too, or its half would travel to + * nowhere and snap into place at the end. + */ +class StayingPut { + val keys = mutableStateSetOf() +} + +/** Marks [key] as staying put while [stays], for as long as it is composed. */ +@Composable +fun StayPut(key: ViewMorphKey.Event, stays: Boolean) { + val stayingPut = LocalViewMorph.current?.stayingPut ?: return + if (!stays) return + DisposableEffect(stayingPut, key) { + stayingPut.keys += key + onDispose { stayingPut.keys -= key } + } +} + +/** + * Keeps what travels below the top bar, which every view has at the same height: + * the overlay draws above the whole screen, so an event scrolled under the bar + * would otherwise cross it. [top] is the bar's bottom edge in the shared layout. + */ +@OptIn(ExperimentalSharedTransitionApi::class) +class BelowTopBarClip : SharedTransitionScope.OverlayClip { + var top = 0f + + override fun getClipPath( + sharedContentState: SharedTransitionScope.SharedContentState, + bounds: Rect, + layoutDirection: LayoutDirection, + density: Density, + ): Path = Path().apply { addRect(Rect(-FAR, top, FAR, FAR)) } + + private companion object { + const val FAR = 1e6f + } +} + +val LocalViewMorph = compositionLocalOf { null } + +/** + * Whether a pager page may carry the morph tags: only the settled one. Its + * neighbours are composed ahead and repeat some of its dates, which would both + * claim its keys and fly in from off screen. + */ +fun morphPageActive(page: Int, settledPage: Int): Boolean = page == settledPage + +/** Provides the view morph to [content] only while [active] — see [morphPageActive]. */ +@Composable +fun ViewMorphPage(active: Boolean, content: @Composable () -> Unit) { + val morph = LocalViewMorph.current + CompositionLocalProvider(LocalViewMorph provides morph.takeIf { active }, content = content) +} + +/** + * Tags an event chip, bar, block or row. Its bounds are shared and the two faces + * cross-fade inside them; remeasured rather than scaled, so a title keeps its + * real size and is clipped while there is no room, instead of smearing. + * + * Goes after the element's offset and before its size, so the travelling bounds + * drive the measurement. + */ +@OptIn(ExperimentalSharedTransitionApi::class) +@Composable +fun Modifier.morphEvent(key: ViewMorphKey.Event): Modifier { + val morph = LocalViewMorph.current ?: return this + if (key in morph.stayingPut.keys) return this + return with(morph.shared) { + this@morphEvent.sharedBounds( + sharedContentState = rememberSharedContentState(key, morph.config), + animatedVisibilityScope = morph.visibility, + enter = fadeIn(morph.fadeSpec), + exit = fadeOut(morph.fadeSpec), + boundsTransform = morph.boundsTransform, + clipInOverlayDuringTransition = morph.clip, + resizeMode = SharedTransitionScope.ResizeMode.RemeasureToBounds, + zIndexInOverlay = 1f, + ) + } +} + +/** Tags a day's number, which is small on both sides, so it scales on its way. */ +@OptIn(ExperimentalSharedTransitionApi::class) +@Composable +fun Modifier.morphDay(date: LocalDate): Modifier { + val morph = LocalViewMorph.current ?: return this + return with(morph.shared) { + this@morphDay.sharedBounds( + sharedContentState = rememberSharedContentState(ViewMorphKey.Day(date), morph.config), + animatedVisibilityScope = morph.visibility, + enter = fadeIn(morph.fadeSpec), + exit = fadeOut(morph.fadeSpec), + boundsTransform = morph.boundsTransform, + clipInOverlayDuringTransition = morph.clip, + zIndexInOverlay = 1f, + ) + } +} + +/** The view switch's travel, on the same spring as the timeline's columns resizing. */ +@OptIn(ExperimentalSharedTransitionApi::class) +@Composable +fun rememberViewMorphBoundsTransform(): BoundsTransform { + val spec = rememberViewSwitchSpec() + return remember(spec) { BoundsTransform { _, _ -> spec } } +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewSwitcherPill.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewSwitcherPill.kt index 3c60627..b33d28c 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewSwitcherPill.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/common/ViewSwitcherPill.kt @@ -1,12 +1,17 @@ package de.jeanlucmakiola.calendula.ui.common +import androidx.compose.animation.AnimatedContent +import androidx.compose.animation.SizeTransform +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.padding import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp /** @@ -30,11 +35,23 @@ fun ViewSwitcherPill( trailingInset: Dp = AppBarSpacing.ContainerTrailingInset, ) { if (cycle.size < QuickSwitchConfig.MIN_CYCLE) return + val fadeSpec = rememberCalendarFadeSpec() FilledTonalButton( onClick = onCycle, shape = MaterialTheme.shapes.large, - modifier = modifier.padding(end = trailingInset), + modifier = modifier + .padding(end = trailingInset), ) { - Text(stringResource(current.labelRes)) + // The label cross-fades and the pill eases to its width, so cycling + // views turns it over rather than snapping it (#184). + AnimatedContent( + targetState = current.label(), + transitionSpec = { + (fadeIn(fadeSpec) togetherWith fadeOut(fadeSpec)).using(SizeTransform(clip = false)) + }, + contentAlignment = Alignment.Center, + ) { label -> + Text(label) + } } } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayPaging.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayPaging.kt new file mode 100644 index 0000000..b932d7d --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayPaging.kt @@ -0,0 +1,22 @@ +package de.jeanlucmakiola.calendula.ui.day + +import kotlinx.datetime.DateTimeUnit +import kotlinx.datetime.LocalDate +import kotlinx.datetime.daysUntil +import kotlinx.datetime.plus + +/** Pages the day pager spans — a little under four centuries, centred on [PAGE_EPOCH]. */ +internal const val DAY_PAGE_COUNT: Int = 140_000 + +private const val EPOCH_PAGE = DAY_PAGE_COUNT / 2 + +/** The day at [EPOCH_PAGE]; any date works, it only has to stay fixed. */ +private val PAGE_EPOCH = LocalDate(2000, 1, 1) + +/** The day shown on pager [page]. */ +internal fun dayForPage(page: Int): LocalDate = + PAGE_EPOCH.plus(page - EPOCH_PAGE, DateTimeUnit.DAY) + +/** The pager page showing [date]. */ +internal fun dayPageFor(date: LocalDate): Int = + (EPOCH_PAGE + PAGE_EPOCH.daysUntil(date)).coerceIn(0, DAY_PAGE_COUNT - 1) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayScreen.kt deleted file mode 100644 index 49d6678..0000000 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayScreen.kt +++ /dev/null @@ -1,903 +0,0 @@ -package de.jeanlucmakiola.calendula.ui.day - -import androidx.compose.animation.AnimatedContent -import androidx.compose.animation.core.animateDpAsState -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable -import androidx.compose.foundation.gestures.detectTapGestures -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.BoxWithConstraints -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxHeight -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.offset -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.ScrollState -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Menu -import androidx.compose.material.icons.filled.Search -import androidx.compose.material3.Card -import androidx.compose.material3.CardDefaults -import androidx.compose.material3.DrawerValue -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalNavigationDrawer -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.rememberDrawerState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.runtime.key -import androidx.compose.runtime.mutableIntStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.rememberUpdatedState -import androidx.compose.runtime.snapshotFlow -import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.draw.clipToBounds -import androidx.compose.ui.graphics.RectangleShape -import androidx.compose.ui.draw.alpha -import androidx.compose.ui.input.pointer.pointerInput -import androidx.compose.ui.layout.onGloballyPositioned -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.platform.LocalLayoutDirection -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.semantics.contentDescription -import androidx.compose.ui.semantics.customActions -import androidx.compose.ui.semantics.semantics -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.LayoutDirection -import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import de.jeanlucmakiola.calendula.R -import de.jeanlucmakiola.calendula.domain.EventInstance -import de.jeanlucmakiola.calendula.ui.common.LocalChipGround -import de.jeanlucmakiola.calendula.ui.common.eventPaint -import de.jeanlucmakiola.calendula.ui.common.eventSurface -import de.jeanlucmakiola.calendula.ui.common.formatCalendarTitle -import de.jeanlucmakiola.calendula.ui.common.CalendarDrawer -import de.jeanlucmakiola.calendula.ui.common.CalendarTitleButton -import de.jeanlucmakiola.calendula.ui.common.CalendarFabColumn -import de.jeanlucmakiola.calendula.ui.common.TodayAction -import de.jeanlucmakiola.calendula.ui.common.CalendarFailure -import de.jeanlucmakiola.calendula.ui.common.CalendarView -import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS -import de.jeanlucmakiola.calendula.ui.common.BLOCK_OUTER_INSET -import de.jeanlucmakiola.calendula.ui.common.BLOCK_TEXT_PADDING -import de.jeanlucmakiola.calendula.ui.common.BlockTimeLabel -import de.jeanlucmakiola.calendula.ui.common.BlockTitle -import de.jeanlucmakiola.calendula.ui.common.rememberBlockTextMetrics -import de.jeanlucmakiola.calendula.ui.common.blockTimeLines -import de.jeanlucmakiola.calendula.ui.common.animatedBlockPlacement -import de.jeanlucmakiola.calendula.ui.common.ghostAlpha -import de.jeanlucmakiola.calendula.ui.common.LocalEventMove -import de.jeanlucmakiola.calendula.ui.common.MoveRequest -import de.jeanlucmakiola.calendula.ui.common.MoveTarget -import de.jeanlucmakiola.calendula.ui.common.NowLine -import de.jeanlucmakiola.calendula.ui.common.TimelineDragController -import de.jeanlucmakiola.calendula.ui.common.TimelineDragOverlay -import de.jeanlucmakiola.calendula.ui.common.TimelineDrop -import de.jeanlucmakiola.calendula.ui.common.clipOffsetMinutes -import de.jeanlucmakiola.calendula.ui.common.continuesAfter -import de.jeanlucmakiola.calendula.ui.common.continuesBefore -import de.jeanlucmakiola.calendula.ui.common.ChipCuts -import de.jeanlucmakiola.calendula.ui.common.timedBlockCuts -import de.jeanlucmakiola.calendula.ui.common.timedBlockShape -import de.jeanlucmakiola.calendula.ui.common.eventDragAllowed -import de.jeanlucmakiola.calendula.ui.common.eventMoveAction -import de.jeanlucmakiola.calendula.ui.common.eventTitleOverflow -import de.jeanlucmakiola.calendula.ui.common.rememberEventDragSource -import de.jeanlucmakiola.calendula.ui.common.rememberTimelineDragController -import de.jeanlucmakiola.calendula.ui.common.startInstant -import de.jeanlucmakiola.calendula.ui.common.ViewSwitcherPill -import de.jeanlucmakiola.calendula.ui.common.calendarSlideTransition -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarFadeSpec -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarPageSwipe -import de.jeanlucmakiola.floret.identity.rememberReduceMotion -import de.jeanlucmakiola.calendula.ui.common.next -import de.jeanlucmakiola.calendula.ui.common.EventChipShape -import de.jeanlucmakiola.calendula.ui.common.trimmedLines -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarSlideSpec -import de.jeanlucmakiola.floret.locale.currentLocale -import de.jeanlucmakiola.calendula.ui.common.LocalUse24HourFormat -import de.jeanlucmakiola.calendula.ui.common.LocalShowHourGrid -import de.jeanlucmakiola.calendula.ui.common.LocalTimelineZoom -import de.jeanlucmakiola.calendula.ui.common.MIN_EVENT_FRACTION -import de.jeanlucmakiola.calendula.ui.common.hourHeight -import de.jeanlucmakiola.calendula.ui.common.rememberTimelinePinchZoom -import de.jeanlucmakiola.calendula.ui.common.formatMinuteOfDay -import de.jeanlucmakiola.calendula.ui.common.GUTTER_WIDTH -import de.jeanlucmakiola.calendula.ui.common.HourGutter -import de.jeanlucmakiola.calendula.ui.common.TIMELINE_CONTENT_END_INSET -import de.jeanlucmakiola.calendula.ui.common.hourCellBlockInset -import de.jeanlucmakiola.calendula.ui.common.hourGridCells -import de.jeanlucmakiola.calendula.ui.common.tappedMinuteOfDay -import de.jeanlucmakiola.calendula.ui.week.TimedBlock -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.launch -import kotlinx.datetime.LocalDate -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime -import kotlin.time.Clock -import java.util.Locale -import kotlin.math.roundToInt - -/** One lane of the all-day strip, sized to a trimmed bar line (#190). */ -private val ALL_DAY_ROW_HEIGHT = 20.dp -private val ALL_DAY_VERTICAL_PADDING = 6.dp - -/** Total all-day strip height for the day (0 when there are no all-day events). */ -internal fun DayUiState.Success.allDayStripHeight(): Dp { - if (allDay.isEmpty()) return 0.dp - val lanes = allDay.maxOf { it.lane } + 1 - return ALL_DAY_ROW_HEIGHT * lanes + ALL_DAY_VERTICAL_PADDING * 2 -} - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun DayScreen( - selectedView: CalendarView, - onSelectView: (CalendarView) -> Unit, - onEventClick: (EventInstance) -> Unit, - onOpenSettings: () -> Unit, - onOpenSearch: () -> Unit, - onCreateEvent: (LocalDate, Int?) -> Unit, - quickSwitchViews: List = IMPLEMENTED_VIEWS, - drawerViewOrder: List = IMPLEMENTED_VIEWS, - todayInToolbar: Boolean = false, - modifier: Modifier = Modifier, - initialDateIso: String? = null, - viewModel: DayViewModel = hiltViewModel(), -) { - val state by viewModel.state.collectAsStateWithLifecycle() - val date by viewModel.date.collectAsStateWithLifecycle() - - // When opened from the month grid, anchor to the tapped date. - LaunchedEffect(initialDateIso) { - initialDateIso?.let { viewModel.goToDate(LocalDate.parse(it)) } - } - - val drawerState = rememberDrawerState(DrawerValue.Closed) - val scope = rememberCoroutineScope() - - val isOnToday = when (val s = state) { - is DayUiState.Success -> s.date == s.today - else -> true - } - - // Drives whether the title carries the year. Falls back to the clock only - // while the first load is in flight, when there is no state to read today from. - val currentYear = when (val s = state) { - is DayUiState.Success -> s.today.year - else -> Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date.year - } - - // Slide direction for the day transition: +1 = next, -1 = prev, 0 = jump. - var slideDir by remember { mutableIntStateOf(0) } - val goNext = { slideDir = 1; viewModel.goToNext() } - val goPrev = { slideDir = -1; viewModel.goToPrev() } - // Slide toward today: viewing the future → today comes in from the left - // (back), viewing the past → from the right (forward). - val jumpToToday = { - slideDir = when (val s = state) { - is DayUiState.Success -> if (s.today < s.date) -1 else 1 - else -> 0 - } - viewModel.goToToday() - } - // Drawer jump-to-date: slide from the side the target lies on. - val jumpToDate: (LocalDate) -> Unit = { target -> - slideDir = if (target < date) -1 else 1 - viewModel.goToDate(target) - } - - ModalNavigationDrawer( - drawerState = drawerState, - // Open only via the menu button — edge-swipe would fight the day swipe. - gesturesEnabled = drawerState.isOpen, - drawerContent = { - CalendarDrawer( - currentView = selectedView, - currentDate = date, - drawerState = drawerState, - viewOrder = drawerViewOrder, - onSelectView = { view -> - onSelectView(view) - scope.launch { drawerState.close() } - }, - onJumpToDate = { target -> - jumpToDate(target) - scope.launch { drawerState.close() } - }, - onSettings = { - onOpenSettings() - scope.launch { drawerState.close() } - }, - ) - }, - ) { - Scaffold( - modifier = modifier, - topBar = { - DayTopBar( - date = date, - currentYear = currentYear, - selectedView = selectedView, - onCycleView = { onSelectView(selectedView.next(quickSwitchViews)) }, - quickSwitchViews = quickSwitchViews, - onOpenDrawer = { scope.launch { drawerState.open() } }, - onOpenSearch = onOpenSearch, - onJumpToDate = jumpToDate, - showTodayButton = todayInToolbar, - onToday = jumpToToday, - ) - }, - floatingActionButton = { - CalendarFabColumn( - todayVisible = !isOnToday && !todayInToolbar, - todayText = stringResource(R.string.day_today_action), - onToday = jumpToToday, - onCreate = { onCreateEvent(date, null) }, - ) - }, - ) { innerPadding -> - DayContent( - state = state, - slideDir = slideDir, - onSwipeNext = goNext, - onSwipePrev = goPrev, - onRetry = jumpToToday, - onEventClick = onEventClick, - onCreateAt = { d, minutes -> onCreateEvent(d, minutes) }, - modifier = Modifier - .padding(innerPadding) - .fillMaxSize(), - ) - } - } -} - -@Composable -private fun DayContent( - state: DayUiState, - slideDir: Int, - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, - onRetry: () -> Unit, - onEventClick: (EventInstance) -> Unit, - onCreateAt: (LocalDate, Int) -> Unit, - modifier: Modifier = Modifier, -) { - val slideSpec = rememberCalendarSlideSpec() - val fadeSpec = rememberCalendarFadeSpec() - val reduceMotion = rememberReduceMotion() - - // Hoisted above the per-day AnimatedContent so the vertical scroll position - // survives day-to-day swipes. We only centre on noon once, on first entry - // into the day view (i.e. when arriving from the month/week view). - val scrollState = rememberScrollState() - LaunchedEffect(Unit) { - snapshotFlow { scrollState.maxValue }.first { it > 0 } - // Half the scroll range *is* noon: the content spans a full 24 hours, so - // centring the range centres midday at whatever hour height is in force. - scrollState.scrollTo(scrollState.maxValue / 2) - } - - // Single, hoisted all-day strip height — shared by the outgoing and incoming - // day during a swipe, so the strip slides along but never jumps in height. - val targetAllDayHeight = (state as? DayUiState.Success)?.allDayStripHeight() ?: 0.dp - val allDayHeight by animateDpAsState( - targetValue = targetAllDayHeight, - label = "day-all-day-strip-height", - ) - - // Whole-page horizontal swipe, one level above the timeline's vertical - // scroll: a horizontal drag crosses this detector's slop, while a vertical - // drag is consumed by the inner scroll first — the two gestures coexist. - val swipeModifier = rememberCalendarPageSwipe(onSwipeNext, onSwipePrev) - - // Above the AnimatedContent: a page change mid-drag would strand the - // floating block inside the outgoing page. - val dragController = rememberTimelineDragController() - val move = LocalEventMove.current - val zone = remember { TimeZone.currentSystemDefault() } - - Box(modifier = modifier) { - AnimatedContent( - targetState = state, - modifier = Modifier.fillMaxSize().then(swipeModifier), - contentKey = { s -> - when (s) { - is DayUiState.Success -> "success-${s.date}" - is DayUiState.Failure -> "failure-${s.reason}" - DayUiState.Loading -> "loading" - } - }, - transitionSpec = { calendarSlideTransition(slideDir, slideSpec, fadeSpec, reduceMotion) }, - label = "day-transition", - ) { s -> - when (s) { - DayUiState.Loading -> DayLoading() - is DayUiState.Failure -> CalendarFailure(reason = s.reason, onRetry = onRetry) - is DayUiState.Success -> DaySuccess( - state = s, - scrollState = scrollState, - allDayHeight = allDayHeight, - dragController = dragController, - onEventClick = onEventClick, - onCreateAt = onCreateAt, - onDrop = { drop -> - move?.move( - MoveRequest( - eventId = drop.event.eventId, - beginMillis = drop.event.start.toEpochMilliseconds(), - endMillis = drop.event.end.toEpochMilliseconds(), - target = MoveTarget.Start(drop.startInstant(zone)), - ), - ) - }, - ) - } - } - TimelineDragOverlay(dragController) - } -} - -@Composable -internal fun DaySuccess( - state: DayUiState.Success, - scrollState: ScrollState, - allDayHeight: Dp, - dragController: TimelineDragController, - onEventClick: (EventInstance) -> Unit, - onCreateAt: (LocalDate, Int) -> Unit, - onDrop: (TimelineDrop) -> Unit, -) { - Column(modifier = Modifier.fillMaxSize()) { - // All-day strip collapses to nothing when the day has no all-day events, - // so the timeline sits directly under the app bar. - // This strip is painted on `surface`, so an outlined chip has to fill - // with that and not with the column's container (#230). - CompositionLocalProvider( - LocalChipGround provides MaterialTheme.colorScheme.surface, - ) { - AllDayStrip( - state = state, - height = allDayHeight, - onEventClick = onEventClick, - modifier = Modifier - .fillMaxWidth() - .background(MaterialTheme.colorScheme.surface), - ) - } - // Breathing room between the top section and the scrolling timeline - // below. - Spacer(Modifier.height(8.dp)) - Timeline( - state = state, - scrollState = scrollState, - dragController = dragController, - onEventClick = onEventClick, - onCreateAt = onCreateAt, - onDrop = onDrop, - ) - } -} - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -private fun DayTopBar( - date: LocalDate, - currentYear: Int, - selectedView: CalendarView, - onCycleView: () -> Unit, - quickSwitchViews: List, - onOpenDrawer: () -> Unit, - onOpenSearch: () -> Unit, - onJumpToDate: (LocalDate) -> Unit, - showTodayButton: Boolean, - onToday: () -> Unit, -) { - val locale = currentLocale() - val (title, shortTitle) = remember(date, locale, currentYear) { - formatDayTitle(date, locale, currentYear) to - formatDayTitle(date, locale, currentYear, abbreviated = true) - } - TopAppBar( - title = { - CalendarTitleButton( - title = title, - currentDate = date, - onJumpToDate = onJumpToDate, - shortTitle = shortTitle, - ) - }, - navigationIcon = { - IconButton(onClick = onOpenDrawer) { - Icon( - imageVector = Icons.Default.Menu, - contentDescription = stringResource(R.string.month_open_menu), - ) - } - }, - actions = { - TodayAction(show = showTodayButton, onToday = onToday) - IconButton(onClick = onOpenSearch) { - Icon( - imageVector = Icons.Default.Search, - contentDescription = stringResource(R.string.search_action), - ) - } - ViewSwitcherPill( - current = selectedView, - cycle = quickSwitchViews, - onCycle = onCycleView, - ) - }, - // Deliberately flat: M3 lifts the bar to mark content scrolling under - // it, but here the bar meets the header on the same surface and the - // tint is what makes that seam look like a separate block (#186). - colors = TopAppBarDefaults.topAppBarColors( - containerColor = MaterialTheme.colorScheme.surface, - scrolledContainerColor = MaterialTheme.colorScheme.surface, - ), - ) -} - -@Composable -private fun AllDayStrip( - state: DayUiState.Success, - height: Dp, - onEventClick: (EventInstance) -> Unit, - modifier: Modifier = Modifier, -) { - val dark = isSystemInDarkTheme() - - Row( - modifier = modifier - // Height is hoisted + animated so it resizes smoothly; padding sits - // inside it so the content area is lanes * row height. - .height(height) - .padding( - top = ALL_DAY_VERTICAL_PADDING, - bottom = ALL_DAY_VERTICAL_PADDING, - end = TIMELINE_CONTENT_END_INSET, - ), - ) { - // Keep the gutter-width offset so the bars line up with the day column. - Spacer(Modifier.width(GUTTER_WIDTH)) - // Bars are positioned absolutely by lane (vertical stacking); each spans - // the full day-column width. clipToBounds keeps bars from spilling out - // while the height animates. - BoxWithConstraints( - modifier = Modifier - .weight(1f) - .fillMaxHeight() - .clipToBounds(), - ) { - val barWidth = maxWidth - state.allDay.forEach { span -> - AllDayBar( - event = span.event, - dark = dark, - onClick = { onEventClick(span.event) }, - modifier = Modifier - .offset(y = ALL_DAY_ROW_HEIGHT * span.lane) - .width(barWidth) - .height(ALL_DAY_ROW_HEIGHT) - .padding(horizontal = 1.dp, vertical = 1.dp), - ) - } - } - } -} - -@Composable -private fun AllDayBar( - event: EventInstance, - dark: Boolean, - onClick: () -> Unit, - modifier: Modifier = Modifier, -) { - val title = event.title.ifBlank { stringResource(R.string.event_untitled) } - val paint = eventPaint(event, dark) - Box( - modifier = modifier - .eventSurface(paint, EventChipShape) - .clickable(onClick = onClick) - .padding(horizontal = 6.dp, vertical = 2.dp) - .semantics { contentDescription = title }, - contentAlignment = Alignment.CenterStart, - ) { - val titleOverflow = eventTitleOverflow() - Text( - text = title, - style = MaterialTheme.typography.labelSmall.trimmedLines(), - maxLines = 1, - overflow = titleOverflow.overflow, - softWrap = titleOverflow.softWrap, - color = paint.titleInk, - fontWeight = paint.titleWeight, - textDecoration = paint.decoration, - ) - } -} - -@Composable -private fun Timeline( - state: DayUiState.Success, - scrollState: ScrollState, - dragController: TimelineDragController, - onEventClick: (EventInstance) -> Unit, - onCreateAt: (LocalDate, Int) -> Unit, - onDrop: (TimelineDrop) -> Unit, -) { - val dark = isSystemInDarkTheme() - val zoom = LocalTimelineZoom.current - val density = LocalDensity.current - val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl - // What the hour grid takes off a block's ends, for the floating copy to - // take off its own. Per-end, a cut edge keeps it — that much the drag - // geometry decides itself, from the slice it is drawing. - val blockInsetPx = with(density) { - hourCellBlockInset(LocalShowHourGrid.current, cut = false).toPx() - } - - // BoxWithConstraints rather than Box: the fit-the-whole-day scale needs the - // timeline's own viewport height, which is only known here — below the top - // bar, date header and all-day strip. - BoxWithConstraints(modifier = Modifier.fillMaxSize()) { - val hourHeight = zoom.scale.hourHeight(maxHeight) - val totalHeight = hourHeight * 24 - // The pinch sits on the Row, above both scroll viewports: it has to - // outrank the vertical scroll, and it does that by watching the initial - // pass, which only reaches it if it is their ancestor. - val pinch = rememberTimelinePinchZoom(scrollState, maxHeight, hourHeight, zoom) - // Gutter and day column are two scroll viewports that SHARE one scroll - // state, so they stay perfectly aligned. The day-column viewport is a - // static, rounded-clipped window — the content scrolls inside it, so the - // soft corners are permanent at any scroll position. - Row(modifier = Modifier.fillMaxSize().then(pinch)) { - // Hour gutter (scrolls in sync with the day column). Start inset so the - // labels centre on the top bar hamburger, matching the week view. - HourGutter( - scrollState = scrollState, - hourHeight = hourHeight, - dragController = dragController, - ) - // Day column: rounded, clipped scroll viewport (permanent corners). - Box( - modifier = Modifier - .weight(1f) - .fillMaxHeight() - .padding(end = TIMELINE_CONTENT_END_INSET) - .clip(RoundedCornerShape(16.dp)) - .verticalScroll(scrollState) - .onGloballyPositioned { dragController.geometry.viewport = it }, - ) { - DayColumnCard( - blocks = state.timed, - dark = dark, - date = state.date, - today = state.today, - hourHeight = hourHeight, - dragController = dragController, - onEventClick = onEventClick, - onCreateAt = onCreateAt, - onDrop = onDrop, - modifier = Modifier - .fillMaxWidth() - .height(totalHeight) - // The scrolling content itself, so its root position - // already folds in the scroll offset. - .onGloballyPositioned { coords -> - dragController.geometry.let { - it.grid = coords - it.scroll = scrollState - it.hourPx = with(density) { hourHeight.toPx() } - it.blockInsetPx = blockInsetPx - it.columnGapPx = 0f - it.columnWidthPx = coords.size.width.toFloat() - it.days = listOf(state.date) - it.isRtl = isRtl - } - }, - ) - } - } - } -} - -@Composable -private fun DayColumnCard( - blocks: List, - dark: Boolean, - date: LocalDate, - today: LocalDate, - hourHeight: Dp, - dragController: TimelineDragController, - onEventClick: (EventInstance) -> Unit, - onCreateAt: (LocalDate, Int) -> Unit, - onDrop: (TimelineDrop) -> Unit, - modifier: Modifier = Modifier, -) { - val hourPx = with(LocalDensity.current) { hourHeight.toPx() } - val showHourGrid = LocalShowHourGrid.current - val zone = remember { TimeZone.currentSystemDefault() } - // Tells a settled drop when this column has caught up with it. - LaunchedEffect(blocks, dragController.settling) { - dragController.noteGrid(date, blocks) - } - // The tap detector outlives the composition that installed it — a pinch or a - // Settings change moves the hour height without restarting it — so it reads - // the height and the callback through state handles instead of capturing - // them, or taps land on the scale the column had before the zoom (#148). - val currentHourPx = rememberUpdatedState(hourPx) - val currentOnCreateAt = rememberUpdatedState(onCreateAt) - Card( - // Plain rectangular column — the soft corners come from the outer - // rounded scroll viewport, so inner rounding would look odd at the edges. - shape = RectangleShape, - colors = CardDefaults.cardColors( - // With the grid on, the container colour moves onto the hour cells - // and the column behind them recedes to surface, so an hour boundary - // reads as negative space between two surfaces. - containerColor = if (showHourGrid) { - MaterialTheme.colorScheme.surface - } else { - MaterialTheme.colorScheme.surfaceContainer - }, - ), - modifier = modifier, - ) { - BoxWithConstraints( - modifier = Modifier - .fillMaxSize() - // The hour cells sit over the column background but under the - // event blocks (drawBehind paints before the children). - .hourGridCells(showHourGrid, hourPx, MaterialTheme.colorScheme.surfaceContainer) - // Tap an empty slot to create an event there. Taps on event - // blocks are consumed by their own click handler first, so this - // only fires on the column background. Snaps to the tapped hour. - .pointerInput(date) { - detectTapGestures { offset -> - currentOnCreateAt.value( - date, - tappedMinuteOfDay(offset.y, currentHourPx.value), - ) - } - }, - ) { - val colWidth = maxWidth - val minEventHeight = hourHeight * MIN_EVENT_FRACTION - // Keyed by event, so a block that changes time or lane is the *same* - // composable afterwards and tweens there. The ordinal disambiguates - // a column holding two occurrences of one series. - val ordinals = mutableMapOf() - blocks.forEach { block -> - val ordinal = ordinals.merge(block.event.eventId, 1, Int::plus)!! - 1 - key(block.event.eventId, ordinal) { - val laneWidth = colWidth / block.laneCount - val top = hourHeight * (block.startMin / 60f) - val rawHeight = hourHeight * ((block.endMin - block.startMin) / 60f) - val height = if (rawHeight < minEventHeight) minEventHeight else rawHeight - val place = animatedBlockPlacement( - x = laneWidth * block.lane, - y = top, - width = laneWidth, - height = height, - ) - // Where this block is cut at midnight, which decides both - // its shape and the half-gap it gives up to the hour cells. - val cuts = remember(block, date, zone) { - timedBlockCuts( - block.continuesBefore(date, zone), - block.continuesAfter(date, zone), - ) - } - val topInset = hourCellBlockInset(showHourGrid, cuts.top) - val bottomInset = hourCellBlockInset(showHourGrid, cuts.bottom) - val blockHeight = (place.height - topInset - bottomInset) - .coerceAtLeast(0.dp) - EventBlock( - block = block, - dark = dark, - height = blockHeight, - width = place.width, - date = date, - cuts = cuts, - topInset = topInset, - dragController = dragController, - onClick = { onEventClick(block.event) }, - onDrop = onDrop, - modifier = Modifier - .offset(x = place.x, y = place.y + topInset) - .width(place.width) - .height(blockHeight) - .padding(horizontal = BLOCK_OUTER_INSET), - ) - } - } - // Current-time line, on top of the events, only on today's column. - if (date == today) { - NowLine(date = date, hourHeight = hourHeight) - } - } - } -} - -@Composable -private fun EventBlock( - block: TimedBlock, - dark: Boolean, - height: Dp, - width: Dp, - date: LocalDate, - cuts: ChipCuts, - topInset: Dp, - dragController: TimelineDragController, - onClick: () -> Unit, - onDrop: (TimelineDrop) -> Unit, - modifier: Modifier = Modifier, -) { - val title = block.event.title.ifBlank { stringResource(R.string.event_untitled) } - val use24Hour = LocalUse24HourFormat.current - val locale = currentLocale() - val timeLabel = "${minToHm(block.startMin, use24Hour, locale)}–" + - minToHm(block.endMin, use24Hour, locale) - val density = LocalDensity.current - val metrics = rememberBlockTextMetrics(height) - // A block that cannot afford both lines spends its space on the title, and - // one too short even for that drops the title rather than serving a sliced one. - // Height alone decides: a duration threshold would keep hiding the time on a - // half-hour block the user has pinched open to three times the room it needs. - val showTime = metrics.available >= metrics.titleLine + metrics.timeLine - val showTitle = metrics.fitsTitle - val textWidth = width - (BLOCK_OUTER_INSET + BLOCK_TEXT_PADDING) * 2 - // Only lines the block can actually draw: a block too short for the time is - // too short for a second title line too, and asking for one served a sliced - // one — as well as handing the drag copy a count it couldn't honour, so the - // title re-wrapped the moment the block was lifted (#267). - val titleBudget = metrics.titleBudget(metrics.available).coerceAtLeast(1) - val titleMaxLines = if (showTime) 1 else titleBudget.coerceAtMost(2) - // On a day column — wide enough for "09:30–11:00" several times over — the - // range never needs the second line, until lanes cut the column down. - val spare = metrics.available - metrics.titleHeight(titleMaxLines) - - if (showTime) metrics.timeLine else 0.dp - val timeMaxLines = if (showTime) blockTimeLines(timeLabel, textWidth, spare) else 1 - val paint = eventPaint(block.event, dark) - val zone = remember { TimeZone.currentSystemDefault() } - val moveAction = eventMoveAction(block.event) - val draggable = eventDragAllowed(block.event) - // The drop takes this offset back off, so a tail clipped at midnight lands - // where the event's own start belongs (#253). - val clipOffset = remember(block, date, zone) { block.clipOffsetMinutes(date, zone) } - val shape = remember(cuts) { timedBlockShape(cuts.top, cuts.bottom) } - val topInsetPx = with(density) { topInset.toPx() } - val dragModifier = rememberEventDragSource( - enabled = draggable, - key = block.event.instanceId, - onPickUp = { pointer, blockRoot, _ -> - dragController.begin( - block = block, - clipOffsetMin = clipOffset, - titleLines = if (showTitle) titleMaxLines else 0, - pointerInRoot = pointer, - // Measured off the block's placement rather than off where the - // hour grid seats it: the copy is drawn from that placement and - // re-seated the same half-gap down (#267). - blockInRoot = blockRoot.copy(y = blockRoot.y - topInsetPx), - ) - }, - onMove = dragController::move, - onDrop = { dragController.finish()?.let(onDrop) }, - onCancel = dragController::cancel, - ) - val lifted = draggable && dragController.ghosts(block) - val ghost = ghostAlpha(lifted) - Box( - modifier = modifier - // The source stays put as a ghost while its floating copy travels. - .then(if (ghost < 1f) Modifier.alpha(ghost) else Modifier) - .eventSurface(paint, shape, cuts) - .clickable(onClick = onClick) - // After clickable, so it is the inner node and wins the main pass; - // the tap still works, since a drag consumes the up. - .then(dragModifier) - .padding(horizontal = BLOCK_TEXT_PADDING, vertical = metrics.inset) - .semantics { - contentDescription = "$title, $timeLabel" - if (moveAction != null) customActions = listOf(moveAction) - }, - ) { - Column { - if (showTitle) { - BlockTitle( - title = title, - maxLines = titleMaxLines, - color = paint.titleInk, - textDecoration = paint.decoration, - fontWeight = paint.titleWeight, - ) - } - if (showTime) { - BlockTimeLabel( - label = timeLabel, - color = paint.secondaryInk, - maxLines = timeMaxLines, - ) - } - } - } -} - -@Composable -private fun DayLoading() { - val scale = LocalTimelineZoom.current.scale - val scrollState = rememberScrollState() - BoxWithConstraints(modifier = Modifier.fillMaxSize()) { - // Same scale resolution as the loaded timeline, so the skeleton's column - // doesn't resize the moment the real day arrives. - val hourHeight = scale.hourHeight(maxHeight) - val totalHeight = hourHeight * 24 - // The skeleton wears the loaded column's own ground, so the arrival of - // the real day doesn't flash a solid block into a gapped grid. - val showHourGrid = LocalShowHourGrid.current - val hourPx = with(LocalDensity.current) { hourHeight.toPx() } - Row( - modifier = Modifier - .fillMaxSize() - .padding(end = TIMELINE_CONTENT_END_INSET) - .verticalScroll(scrollState), - ) { - Spacer(Modifier.width(GUTTER_WIDTH)) - Box( - modifier = Modifier - .weight(1f) - .height(totalHeight) - .padding(horizontal = 2.dp) - .background( - if (showHourGrid) MaterialTheme.colorScheme.surface - else MaterialTheme.colorScheme.surfaceContainer, - ) - .hourGridCells(showHourGrid, hourPx, MaterialTheme.colorScheme.surfaceContainer), - ) - } - } -} - -private fun minToHm(min: Int, is24Hour: Boolean, locale: Locale): String = - formatMinuteOfDay(min, is24Hour, locale) - -/** [abbreviated] drops the weekday, leaving the date itself (#165). */ -private fun formatDayTitle( - date: LocalDate, - locale: Locale, - currentYear: Int, - abbreviated: Boolean = false, -): String = - formatCalendarTitle( - date = java.time.LocalDate.of(date.year, date.month.ordinal + 1, date.day), - locale = locale, - currentYear = currentYear, - skeleton = if (abbreviated) "dMMM" else "EEEdMMM", - ) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayUiState.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayUiState.kt deleted file mode 100644 index 2883366..0000000 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayUiState.kt +++ /dev/null @@ -1,25 +0,0 @@ -package de.jeanlucmakiola.calendula.ui.day - -import de.jeanlucmakiola.calendula.domain.FailureReason -import de.jeanlucmakiola.calendula.ui.week.AllDaySpan -import de.jeanlucmakiola.calendula.ui.week.TimedBlock -import kotlinx.datetime.LocalDate - -/** - * The day view is a single-column slice of the week view (spec S3). It reuses the - * week's [TimedBlock] and [AllDaySpan] layout primitives — for one day, all-day - * spans collapse to a single column ([AllDaySpan.startCol] == [AllDaySpan.endCol] - * == 0) and only their [AllDaySpan.lane] (vertical stacking) matters. - */ -sealed interface DayUiState { - data object Loading : DayUiState - data class Failure(val reason: FailureReason) : DayUiState - data class Success( - val date: LocalDate, - val today: LocalDate, - /** All-day/multi-day events covering this day, stacked by lane. */ - val allDay: List, - /** Timed events clipped to this day with overlap lanes resolved. */ - val timed: List, - ) : DayUiState -} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewModel.kt deleted file mode 100644 index 4146aee..0000000 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewModel.kt +++ /dev/null @@ -1,110 +0,0 @@ -package de.jeanlucmakiola.calendula.ui.day - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import dagger.hilt.android.lifecycle.HiltViewModel -import de.jeanlucmakiola.calendula.data.calendar.CalendarRepository -import de.jeanlucmakiola.calendula.data.di.IoDispatcher -import de.jeanlucmakiola.calendula.domain.CalendarSource -import de.jeanlucmakiola.calendula.domain.EventInstance -import de.jeanlucmakiola.calendula.domain.FailureReason -import de.jeanlucmakiola.calendula.domain.calendarListFailure -import de.jeanlucmakiola.calendula.ui.week.layoutAllDay -import de.jeanlucmakiola.calendula.ui.week.layoutDay -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.catch -import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.flatMapLatest -import kotlinx.coroutines.flow.flowOn -import kotlinx.coroutines.flow.stateIn -import kotlinx.datetime.DateTimeUnit -import kotlinx.datetime.LocalDate -import kotlinx.datetime.TimeZone -import kotlinx.datetime.atStartOfDayIn -import kotlinx.datetime.atTime -import kotlinx.datetime.minus -import kotlinx.datetime.plus -import kotlinx.datetime.toInstant -import kotlinx.datetime.toLocalDateTime -import kotlin.time.Clock -import kotlin.time.Instant -import javax.inject.Inject - -@OptIn(ExperimentalCoroutinesApi::class) -@HiltViewModel -class DayViewModel @Inject constructor( - private val repository: CalendarRepository, - @IoDispatcher private val io: CoroutineDispatcher, -) : ViewModel() { - - private val zone = TimeZone.currentSystemDefault() - - private val todayDate: LocalDate - get() = Clock.System.now().toLocalDateTime(zone).date - - private val _date = MutableStateFlow(todayDate) - val date: StateFlow = _date - - val state: StateFlow = _date - .flatMapLatest { day -> - val range = dayRange(day, zone) - combine( - repository.calendars(), - repository.instances(range), - ) { calendars, instances -> - buildState(day, calendars, instances) - } - } - .catch { emit(DayUiState.Failure(FailureReason.ProviderUnavailable)) } - .flowOn(io) - .stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(5_000L), - initialValue = DayUiState.Loading, - ) - - fun goToPrev() { - _date.value = _date.value.minus(1, DateTimeUnit.DAY) - } - - fun goToNext() { - _date.value = _date.value.plus(1, DateTimeUnit.DAY) - } - - fun goToToday() { - _date.value = todayDate - } - - /** Jump to a specific date (e.g. when opened from the month grid). */ - fun goToDate(date: LocalDate) { - _date.value = date - } - - private fun buildState( - day: LocalDate, - calendars: List, - instances: List, - ): DayUiState { - calendarListFailure(calendars)?.let { return DayUiState.Failure(it) } - val days = listOf(day) - val allDay = instances.filter { it.isAllDay } - val timed = instances.filterNot { it.isAllDay } - return DayUiState.Success( - date = day, - today = todayDate, - allDay = layoutAllDay(allDay, days, zone), - timed = layoutDay(timed, day, zone), - ) - } -} - -/** Half-open instant range covering the single calendar [date]. */ -internal fun dayRange(date: LocalDate, zone: TimeZone): ClosedRange { - val from = date.atStartOfDayIn(zone) - val to = date.atTime(23, 59, 59).toInstant(zone) - return from..to -} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewPreview.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewPreview.kt deleted file mode 100644 index 90303d9..0000000 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/day/DayViewPreview.kt +++ /dev/null @@ -1,63 +0,0 @@ -package de.jeanlucmakiola.calendula.ui.day - -import androidx.compose.foundation.rememberScrollState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.remember -import androidx.compose.runtime.snapshotFlow -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.Dp -import de.jeanlucmakiola.calendula.ui.common.ScaledViewPreview -import de.jeanlucmakiola.calendula.ui.common.rememberTimelineDragController -import de.jeanlucmakiola.calendula.ui.common.sampleTimelineEvents -import de.jeanlucmakiola.calendula.ui.week.layoutAllDay -import de.jeanlucmakiola.calendula.ui.week.layoutDay -import kotlinx.coroutines.flow.first -import kotlinx.datetime.LocalDate -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime -import kotlin.time.Clock - -/** - * A live, scaled-down Day view for the onboarding view chooser. Today's date is - * real; only the events are stand-ins. - */ -@Composable -internal fun DayViewPreview( - height: Dp, - modifier: Modifier = Modifier, -) { - val zone = remember { TimeZone.currentSystemDefault() } - val today = remember(zone) { Clock.System.now().toLocalDateTime(zone).date } - val state = remember(today, zone) { sampleDayState(today, zone) } - val scrollState = rememberScrollState() - LaunchedEffect(Unit) { - snapshotFlow { scrollState.maxValue }.first { it > 0 } - // Half the scroll range is noon — the same centring the live view does. - scrollState.scrollTo(scrollState.maxValue / 2) - } - - ScaledViewPreview(height = height, modifier = modifier) { - DaySuccess( - state = state, - scrollState = scrollState, - allDayHeight = state.allDayStripHeight(), - dragController = rememberTimelineDragController(), - onEventClick = {}, - onCreateAt = { _, _ -> }, - onDrop = {}, - ) - } -} - -/** Sample day state, laid out through the same helpers the live view uses. */ -private fun sampleDayState(today: LocalDate, zone: TimeZone): DayUiState.Success { - val days = listOf(today) - val events = sampleTimelineEvents(days, today, zone) - return DayUiState.Success( - date = today, - today = today, - allDay = layoutAllDay(events.filter { it.isAllDay }, days, zone), - timed = layoutDay(events, today, zone), - ) -} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/detail/EventDetailScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/detail/EventDetailScreen.kt index 2360edd..db61df9 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/detail/EventDetailScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/detail/EventDetailScreen.kt @@ -140,6 +140,7 @@ fun EventDetailScreen( onBack: () -> Unit, onEdit: () -> Unit, onDuplicate: (EventForm) -> Unit, + visible: Boolean = true, viewModel: EventDetailViewModel = hiltViewModel(), ) { LaunchedEffect(eventId, beginMillis, endMillis) { @@ -227,7 +228,7 @@ fun EventDetailScreen( } Scaffold( - modifier = Modifier.predictiveBack(onBack = onBack), + modifier = Modifier.predictiveBack(onBack = onBack, visible = visible), snackbarHost = { SnackbarHost(snackbarHostState) }, topBar = { TopAppBar( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditScreen.kt index f591797..90dff7a 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditScreen.kt @@ -99,6 +99,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization @@ -203,6 +204,7 @@ fun EventEditScreen( initialForm: EventForm? = null, initialFormSource: ImportSource = ImportSource.File, onManageCalendars: (() -> Unit)? = null, + visible: Boolean = true, viewModel: EventEditViewModel = hiltViewModel(), ) { LaunchedEffect(initialDateIso, editKey, initialForm) { @@ -285,7 +287,7 @@ fun EventEditScreen( } Scaffold( - modifier = Modifier.predictiveBack(onBack = close), + modifier = Modifier.predictiveBack(onBack = close, visible = visible), snackbarHost = { SnackbarHost(snackbarHostState) }, topBar = { TopAppBar( @@ -608,6 +610,11 @@ private fun EventEditContent( .padding(vertical = 4.dp) .focusRequester(titleFocusRequester), ) + FieldLengthCounter( + length = form.title.length, + max = MAX_SINGLE_LINE_FIELD, + modifier = Modifier.fillMaxWidth(), + ) Spacer(Modifier.height(10.dp)) Box( modifier = Modifier @@ -797,25 +804,31 @@ private fun EventEditContent( iconAtTop = true, ) { Row(verticalAlignment = Alignment.Top) { - InlineField( - value = form.location, - onValueChange = viewModel::setLocation, - placeholder = stringResource(R.string.event_detail_location), - // A location is as often a meeting URL as an address, - // and "Zoom.us/j/123" reads wrong (#146). - capitalization = KeyboardCapitalization.None, - // Multi-line so a long address or meeting URL wraps and - // the card grows instead of scrolling off one line - // (#273). The field holds no newlines of its own, so - // the IME's action key closes the keyboard rather than - // inserting a break setLocation would only fold away. - singleLine = false, - imeAction = ImeAction.Done, - modifier = Modifier - .weight(1f) - .animateContentSizeMotion() - .padding(vertical = 4.dp), - ) + Column(modifier = Modifier.weight(1f)) { + InlineField( + value = form.location, + onValueChange = viewModel::setLocation, + placeholder = stringResource(R.string.event_detail_location), + // A location is as often a meeting URL as an address, + // and "Zoom.us/j/123" reads wrong (#146). + capitalization = KeyboardCapitalization.None, + // Multi-line so a long address or meeting URL wraps and + // the card grows instead of scrolling off one line + // (#273). The field holds no newlines of its own, so + // the IME's action key closes the keyboard rather than + // inserting a break setLocation would only fold away. + singleLine = false, + imeAction = ImeAction.Done, + modifier = Modifier + .fillMaxWidth() + .animateContentSizeMotion() + .padding(vertical = 4.dp), + ) + FieldLengthCounter( + length = form.location.length, + max = MAX_SINGLE_LINE_FIELD, + ) + } // The box is exactly one text line tall, so the button // centres on the first line without making a single-line // card taller than its text; requiredSize keeps the @@ -2290,6 +2303,28 @@ private fun InlineField( ) } +/** + * A right-aligned "n/max" counter for a capped [InlineField] (#331), hidden + * until [length] gets close enough to [max] to matter — nobody needs to see + * "12/255" while typing a short title. + */ +@Composable +private fun FieldLengthCounter(length: Int, max: Int, modifier: Modifier = Modifier) { + AnimatedVisibility(visible = length >= max - 55, modifier = modifier) { + Text( + text = "$length/$max", + style = MaterialTheme.typography.bodySmall, + color = if (length >= max) { + MaterialTheme.colorScheme.error + } else { + MaterialTheme.colorScheme.onSurfaceVariant + }, + textAlign = TextAlign.End, + modifier = Modifier.fillMaxWidth(), + ) + } +} + /** * Height of one [InlineField] line: the resolved [TextStyle.lineHeight] plus the * field's 4dp vertical padding. In dp, so it tracks the user's font scale diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt index 017383d..99894e8 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt @@ -62,6 +62,26 @@ private const val TAG = "EventEdit" /** Any line break, with the whitespace around it, as one match. */ private val LINE_BREAK = Regex("""[ \t]*\R[ \t]*""") +/** + * Title and location are single-line provider columns that several CalDAV + * servers (Open-Xchange among them, #331) store as `VARCHAR(255)` and + * silently truncate past that on sync, with no error surfaced back to the + * app. 255 is the common floor, so it's what Calendula enforces up front. + */ +internal const val MAX_SINGLE_LINE_FIELD = 255 + +/** + * Caps [new] at [max] chars, but only while growing past it — an [old] value + * that already exceeds [max] (imported, or synced in from elsewhere) may + * still shrink freely, it just can't grow any further. Never splits a + * surrogate pair at the cut point. + */ +internal fun capLength(new: String, old: String, max: Int = MAX_SINGLE_LINE_FIELD): String = when { + new.length <= max || new.length <= old.length -> new + old.length >= max -> old + else -> new.take(max).let { if (it.isNotEmpty() && it.last().isHighSurrogate()) it.dropLast(1) else it } +} + /** * Where a prefilled [EventEditViewModel.openImported] form came from. The sources * want different reminder handling (#49), and differ in whether they own the @@ -533,13 +553,17 @@ class EventEditViewModel @Inject constructor( // The title field wraps (multi-line) so long titles stay visible (#33), but // a title is one logical line: drop any newline the IME's Enter key or a // paste would introduce, so it never reaches the provider's TITLE column. - fun setTitle(value: String) = - update { it.copy(title = value.replace("\n", "").replace("\r", "")) } + fun setTitle(value: String) = update { + val cleaned = value.replace("\n", "").replace("\r", "") + it.copy(title = capLength(cleaned, it.title)) + } // The location wraps too (#273) but is likewise one logical line. A pasted // multi-line address joins the way the contact picker's does (#146), so it // never runs together into "12 Main St10115 Berlin". - fun setLocation(value: String) = - update { it.copy(location = value.replace(LINE_BREAK, ", ")) } + fun setLocation(value: String) = update { + val cleaned = value.replace(LINE_BREAK, ", ") + it.copy(location = capLength(cleaned, it.location)) + } fun setDescription(value: String) = update { it.copy(description = value) } fun setAllDay(value: Boolean) { // Going all-day drops any pinned zone: the times become bare dates that diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/imports/ImportScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/imports/ImportScreen.kt index fcf33d3..8205465 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/imports/ImportScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/imports/ImportScreen.kt @@ -78,6 +78,7 @@ fun ImportScreen( onOpenSingle: (EventForm) -> Unit, forceMany: Boolean = false, onManageCalendars: (() -> Unit)? = null, + visible: Boolean = true, viewModel: ImportViewModel = hiltViewModel(), ) { // hiltViewModel() resolves to the Activity's store and is retained across @@ -103,7 +104,7 @@ fun ImportScreen( Scaffold( modifier = Modifier - .predictiveBack(onBack = onClose) + .predictiveBack(onBack = onClose, visible = visible) .fillMaxSize(), topBar = { TopAppBar( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/licences/LicencesScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/licences/LicencesScreen.kt index da70e2d..8e4674f 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/licences/LicencesScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/licences/LicencesScreen.kt @@ -23,13 +23,14 @@ import de.jeanlucmakiola.floret.components.positionOf * what the *recipient of the binary* is told. Each row opens the project's source. */ @Composable -internal fun LicencesScreen(onBack: () -> Unit) { +internal fun LicencesScreen(onBack: () -> Unit, visible: Boolean = true) { val uriHandler = LocalUriHandler.current CollapsingScaffold( title = stringResource(R.string.licences_title), onBack = onBack, predictiveBack = true, + visible = visible, ) { Text( stringResource(R.string.licences_intro), diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthScreen.kt index 9ea8905..8dd73bb 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthScreen.kt @@ -2,26 +2,50 @@ package de.jeanlucmakiola.calendula.ui.month import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedContent +import androidx.compose.animation.EnterExitState +import androidx.compose.foundation.gestures.detectVerticalDragGestures +import androidx.compose.foundation.gestures.detectHorizontalDragGestures +import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.PagerDefaults +import androidx.compose.foundation.pager.PagerState +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.runtime.setValue +import androidx.compose.runtime.rememberUpdatedState +import de.jeanlucmakiola.calendula.ui.common.PublishChrome +import de.jeanlucmakiola.calendula.ui.common.ScreenActions +import de.jeanlucmakiola.calendula.ui.common.ScreenBody +import de.jeanlucmakiola.calendula.ui.common.ScreenChrome +import de.jeanlucmakiola.calendula.ui.common.LocalViewMorph +import de.jeanlucmakiola.calendula.ui.common.EnterOnFocus +import de.jeanlucmakiola.calendula.ui.common.LocalViewFocus +import de.jeanlucmakiola.calendula.ui.common.ViewMorphKey +import de.jeanlucmakiola.calendula.ui.common.morphDay +import de.jeanlucmakiola.calendula.ui.common.morphEvent +import de.jeanlucmakiola.calendula.ui.common.morphPageActive +import de.jeanlucmakiola.calendula.ui.common.jumpToPage +import de.jeanlucmakiola.calendula.ui.common.rememberCalendarPageSpec +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.drop import androidx.compose.animation.ExperimentalSharedTransitionApi -import androidx.compose.animation.SharedTransitionLayout import androidx.compose.animation.core.Animatable +import androidx.compose.animation.core.Spring import androidx.compose.animation.core.RepeatMode import androidx.compose.animation.core.VectorConverter import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.snap +import androidx.compose.animation.core.spring import androidx.compose.animation.core.animateFloat import androidx.compose.animation.core.infiniteRepeatable import androidx.compose.animation.core.rememberInfiniteTransition import androidx.compose.animation.core.tween +import androidx.compose.animation.core.CubicBezierEasing import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.togetherWith import androidx.compose.foundation.background -import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.gestures.awaitEachGesture import androidx.compose.foundation.gestures.awaitFirstDown -import androidx.compose.foundation.gestures.detectDragGestures import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -43,39 +67,37 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.selection.selectable import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.HorizontalDivider import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.Menu import androidx.compose.material.icons.filled.Search import androidx.compose.material3.DrawerValue -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.InputChip import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalNavigationDrawer -import androidx.compose.material3.Scaffold import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.rememberDrawerState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.SideEffect import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.key import androidx.compose.runtime.snapshotFlow -import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha @@ -92,6 +114,7 @@ import de.jeanlucmakiola.calendula.ui.common.eventPaint import de.jeanlucmakiola.calendula.ui.common.eventSurface import de.jeanlucmakiola.calendula.ui.common.monthBarCuts import kotlin.math.roundToInt +import kotlin.math.abs import de.jeanlucmakiola.calendula.ui.common.rememberDragSurface import de.jeanlucmakiola.calendula.ui.common.eventMoveAction import de.jeanlucmakiola.calendula.ui.common.eventTitleOverflow @@ -106,7 +129,6 @@ import de.jeanlucmakiola.calendula.ui.common.DragSnapHaptics import de.jeanlucmakiola.calendula.ui.common.SETTLE_FADE_MILLIS import de.jeanlucmakiola.calendula.ui.common.SETTLE_GRACE_MILLIS import de.jeanlucmakiola.calendula.ui.common.EventMoveScope -import de.jeanlucmakiola.calendula.domain.spanFirstDay import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.semantics.customActions @@ -116,10 +138,13 @@ import androidx.compose.ui.layout.LayoutCoordinates import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.compositeOver import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.input.pointer.PointerEventPass import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.platform.LocalHapticFeedback +import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics @@ -137,14 +162,10 @@ import de.jeanlucmakiola.calendula.domain.hasEnded import de.jeanlucmakiola.calendula.ui.agenda.AgendaDayHeader import de.jeanlucmakiola.calendula.ui.agenda.AgendaEmptyDayRow import de.jeanlucmakiola.calendula.ui.agenda.AgendaEventRow +import de.jeanlucmakiola.calendula.ui.agenda.agendaDayLabel import de.jeanlucmakiola.calendula.ui.common.formatCalendarTitle -import de.jeanlucmakiola.calendula.ui.common.CalendarDrawer import de.jeanlucmakiola.calendula.ui.common.AppBarSpacing -import de.jeanlucmakiola.calendula.ui.common.CalendarTitleButton -import de.jeanlucmakiola.calendula.ui.common.CalendarFabColumn -import de.jeanlucmakiola.calendula.ui.common.TodayAction import de.jeanlucmakiola.calendula.ui.common.CalendarFailure -import de.jeanlucmakiola.calendula.ui.common.CALENDAR_SWIPE_THRESHOLD import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.EventDimAlpha @@ -157,15 +178,12 @@ import de.jeanlucmakiola.calendula.ui.common.EventChipShape import de.jeanlucmakiola.calendula.ui.common.trimmedLines import de.jeanlucmakiola.calendula.ui.common.monthBarShape import de.jeanlucmakiola.calendula.ui.common.rememberCurrentMinute -import de.jeanlucmakiola.calendula.ui.common.ViewSwitcherPill -import de.jeanlucmakiola.calendula.ui.common.calendarSlideTransition import de.jeanlucmakiola.calendula.ui.common.rememberCalendarFadeSpec import de.jeanlucmakiola.floret.components.positionOf import de.jeanlucmakiola.floret.identity.animateItemMotion import de.jeanlucmakiola.floret.identity.itemEnter import de.jeanlucmakiola.floret.identity.rememberReduceMotion import de.jeanlucmakiola.floret.locale.currentLocale -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarSlideSpec import de.jeanlucmakiola.calendula.ui.common.next import de.jeanlucmakiola.floret.time.isoWeekNumber import kotlinx.coroutines.delay @@ -180,28 +198,74 @@ import kotlinx.datetime.plus import kotlinx.datetime.YearMonth import kotlinx.datetime.toJavaLocalDate import kotlinx.datetime.toLocalDateTime -import kotlin.math.abs import kotlin.time.Clock import kotlin.time.Instant import java.time.format.TextStyle as JavaTextStyle import java.util.Locale +private val LocalTodayPulse = staticCompositionLocalOf { 0 } +private val LocalOpenWeek = staticCompositionLocalOf<((LocalDate) -> Unit)?> { null } + +/** A brief push from today's full cell into its immediate neighbours. */ +@Composable +private fun rememberTodayRipple(active: Boolean): Animatable { + val pulse = remember { Animatable(0f) } + val pulseKey = LocalTodayPulse.current + val reduceMotion = rememberReduceMotion() + LaunchedEffect(pulseKey, active, reduceMotion) { + if (active && pulseKey > 0 && !reduceMotion) { + pulse.snapTo(0f) + pulse.animateTo(1f, tween(durationMillis = 180)) + pulse.animateTo( + 0f, + spring( + dampingRatio = Spring.DampingRatioMediumBouncy, + stiffness = Spring.StiffnessLow, + ), + ) + } else { + pulse.snapTo(0f) + } + } + return pulse +} + +/** Today's cell: a light primary tint over the ordinary cell, set apart without shouting (#241). */ +@Composable +private fun todayCellColor(): Color = + MaterialTheme.colorScheme.primaryContainer.copy(alpha = TODAY_CELL_TINT) + .compositeOver(MaterialTheme.colorScheme.surfaceContainer) + +private const val TODAY_CELL_TINT = 0.45f + +/** Paint-only motion keeps hit targets and the month grid's lane geometry stable. */ +private fun Modifier.todayRipple(relativeColumn: Int?, progress: () -> Float): Modifier { + if (relativeColumn == null || abs(relativeColumn) > 1) return this + return graphicsLayer { + val pulse = progress() + if (relativeColumn == 0) { + scaleX = 1f + 0.10f * pulse + scaleY = 1f + 0.06f * pulse + } else { + translationX = (if (relativeColumn < 0) -1f else 1f) * 4.dp.toPx() * pulse + scaleX = 1f - 0.025f * pulse + } + } +} + @OptIn(ExperimentalMaterial3Api::class) @Composable fun MonthScreen( - selectedView: CalendarView, - onSelectView: (CalendarView) -> Unit, onOpenDay: (LocalDate) -> Unit, + onOpenWeek: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, - onOpenSettings: () -> Unit, - onOpenSearch: () -> Unit, onCreateEvent: (LocalDate, Int?) -> Unit, - quickSwitchViews: List = IMPLEMENTED_VIEWS, - drawerViewOrder: List = IMPLEMENTED_VIEWS, - todayInToolbar: Boolean = false, modifier: Modifier = Modifier, viewModel: MonthViewModel = hiltViewModel(), ) { + // Opens on the focused date's month, and hands its selection back as it moves. + val focus = LocalViewFocus.current + EnterOnFocus(viewModel) { viewModel.goToDate(it) } val state by viewModel.state.collectAsStateWithLifecycle() val continuousState by viewModel.continuousState.collectAsStateWithLifecycle() val month by viewModel.month.collectAsStateWithLifecycle() @@ -218,10 +282,41 @@ fun MonthScreen( derivedStateOf { if (dimCompleted) nowState.value else null } } - val drawerState = rememberDrawerState(DrawerValue.Closed) val scope = rememberCoroutineScope() val scrolling = viewStyle.isScrolling + var pendingScrollMonth by remember { mutableStateOf(null) } + var scrollRequestId by remember { mutableIntStateOf(0) } + + // The paged and split styles' months. Made afresh whenever a paged style + // comes on screen, opening on the month the scrolling style was showing: a + // pager that was never laid out can't be scrolled to follow it meanwhile. + val anchorPage = monthIndexOf(month) + val pagerState = key(scrolling) { + rememberPagerState(initialPage = anchorPage) { continuousMonthCount() } + } + val pageSpec = rememberCalendarPageSpec() + val reduceMotion = rememberReduceMotion() + // A swipe moves the pager and the anchor follows once it settles; anything + // else that moves the anchor has the pager follow it instead. + LaunchedEffect(anchorPage, scrolling) { + if (scrolling || pagerState.currentPage == anchorPage || pagerState.isScrollInProgress) { + return@LaunchedEffect + } + pagerState.jumpToPage(anchorPage, reduceMotion, pageSpec) + } + LaunchedEffect(pagerState) { + snapshotFlow { pagerState.settledPage }.drop(1).collect(viewModel::onPageSettled) + } + // Keep the shared focus on the visible month or its selected day. + LaunchedEffect(viewModel) { + snapshotFlow { month to selectedDate }.drop(1).collect { (visible, selected) -> + val current = focus?.date + focus?.date = selected ?: current?.takeIf { + it.year == visible.year && it.month == visible.month + } ?: LocalDate(visible.year, visible.month, 1) + } + } val dense = viewStyle == MonthViewStyle.Dense // Today, from whichever state is driving; the clock only covers the first @@ -260,7 +355,8 @@ fun MonthScreen( } } } - val titleMonth = if (scrolling) visibleMonth else month + // The month under the finger, so the title turns over mid-swipe, not after it. + val titleMonth = if (scrolling) visibleMonth else yearMonthForIndex(pagerState.currentPage) // Feed the visible range back so the sliding data window can follow. Both // styles report *months*, whatever they index by — one window serves both. @@ -292,12 +388,21 @@ fun MonthScreen( // back there rather than staying on the month you were looking at. LaunchedEffect(listState, scrolling, dense, weekStart) { if (!scrolling) return@LaunchedEffect - snapshotFlow { visibleMonth } + snapshotFlow { visibleMonth to pendingScrollMonth } .distinctUntilChanged() - .collect { viewModel.syncScrollMonth(it) } + .collect { (visible, pending) -> + if (pending == null || pending == visible) { + viewModel.syncScrollMonth(visible) + if (pending == visible) pendingScrollMonth = null + } + } } val isOnCurrentMonth = titleMonth == YearMonth(today.year, today.month) + var splitExpanded by rememberSaveable(viewStyle) { + mutableStateOf(viewStyle == MonthViewStyle.Paged) + } + var todayPulse by remember { mutableIntStateOf(0) } // Continuous names the month on the block's own sticky header, so the bar // carries the year instead of repeating it two lines further down. Dense has @@ -313,181 +418,161 @@ fun MonthScreen( } } - // Slide direction for the grid transition: +1 = next, -1 = prev, 0 = jump (no slide). - var slideDir by remember { mutableIntStateOf(0) } - - val goNext = { - slideDir = 1 - viewModel.goToNext() + // Straight to the pager as well as the anchor: a tap mid-fling must still + // land, and the anchor hasn't caught up with the fling yet to tell the + // difference. The continuous stream scrolls to the month instead. + val jumpToMonth: (YearMonth) -> Unit = { ym -> + scope.launch { pagerState.jumpToPage(monthIndexOf(ym), reduceMotion, pageSpec) } } - val goPrev = { - slideDir = -1 - viewModel.goToPrev() - } - // Slide toward today: viewing the future → today comes in from the left - // (back), viewing the past → from the right (forward). The continuous stream - // scrolls to today's week instead — there is nothing to slide. - val jumpToToday = { + val jumpToToday: () -> Unit = { + todayPulse++ if (scrolling) { - scope.launch { - listState.animateScrollToItem( - if (dense) weekIndexOf(today, weekStart) - else itemIndexForMonth(monthIndexOf(YearMonth(today.year, today.month))), - ) - } - Unit - } else { - slideDir = when (val s = state) { - is MonthUiState.Success -> - if (YearMonth(s.today.year, s.today.month) < s.month) -1 else 1 - else -> 0 - } + val targetMonth = YearMonth(today.year, today.month) + pendingScrollMonth = targetMonth + val requestId = ++scrollRequestId viewModel.goToToday() - } - } - // Drawer jump-to-date: slide from the side the target month lies on. - val jumpToDate: (LocalDate) -> Unit = { target -> - if (scrolling) { scope.launch { - listState.animateScrollToItem( - if (dense) weekIndexOf(LocalDate(target.year, target.month, 1), weekStart) - else itemIndexForMonth(monthIndexOf(YearMonth(target.year, target.month))), - ) - } - } else { - slideDir = if (YearMonth(target.year, target.month) < month) -1 else 1 - viewModel.goToDate(target) - } - } - // Selecting a day in the split grid can cross into a neighbour month — a - // tapped leading/trailing day follows to its own month. Point the slide the - // way the month is actually moving, so the incoming page travels the right - // direction instead of reusing whatever the last swipe left in slideDir. - val selectDay: (LocalDate) -> Unit = { date -> - val target = YearMonth(date.year, date.month) - if (target != month) slideDir = if (target < month) -1 else 1 - viewModel.selectDate(date) - } - - ModalNavigationDrawer( - drawerState = drawerState, - // Open only via the menu button — edge-swipe would fight the month swipe. - gesturesEnabled = drawerState.isOpen, - drawerContent = { - CalendarDrawer( - currentView = selectedView, - currentDate = LocalDate(titleMonth.year, titleMonth.month, 1), - drawerState = drawerState, - viewOrder = drawerViewOrder, - onSelectView = { view -> - onSelectView(view) - scope.launch { drawerState.close() } - }, - onJumpToDate = { target -> - jumpToDate(target) - scope.launch { drawerState.close() } - }, - onSettings = { - onOpenSettings() - scope.launch { drawerState.close() } - }, - ) - }, - ) { - Scaffold( - modifier = modifier, - topBar = { - MonthTopBar( - title = topBarTitle, - shortTitle = topBarShortTitle, - titleDate = LocalDate(titleMonth.year, titleMonth.month, 1), - selectedView = selectedView, - onCycleView = { onSelectView(selectedView.next(quickSwitchViews)) }, - quickSwitchViews = quickSwitchViews, - onOpenDrawer = { scope.launch { drawerState.open() } }, - onOpenSearch = onOpenSearch, - onJumpToDate = jumpToDate, - showTodayButton = todayInToolbar, - onToday = jumpToToday, - ) - }, - floatingActionButton = { - CalendarFabColumn( - todayVisible = !isOnCurrentMonth && !todayInToolbar, - todayText = stringResource(R.string.month_today_action), - onToday = jumpToToday, - onCreate = { - // Split has a selected day; the other styles anchor on - // today when its month is shown, else the 1st. - onCreateEvent( - when { - viewStyle == MonthViewStyle.Split -> selectedDate - isOnCurrentMonth -> today - else -> LocalDate(titleMonth.year, titleMonth.month, 1) - }, - null, - ) - }, - ) - }, - ) { innerPadding -> - // Hoisted above every style's grid: a dragged chip is drawn in an - // overlay, clear of the week row's and the list viewport's clips. - val chipDrag = rememberMonthDragController() - // Undo moves the event back, so the chip travels back too. The - // signal comes from the write, not from the chip that offers it. - OnUndoStarted { chipDrag.beginUndo() } - Box( - modifier = Modifier - .padding(innerPadding) - .fillMaxSize(), - ) { - Column(modifier = Modifier.fillMaxSize()) { - WeekdayHeader(weekStart = weekStart, showWeekNumbers = showWeekNumbers) - CompositionLocalProvider( - LocalDimCutoff provides dimCutoff, - LocalMonthDrag provides chipDrag, - ) { - if (scrolling) { - ContinuousMonthContent( - state = continuousState, - listState = listState, - dense = dense, - showWeekNumbers = showWeekNumbers, - onRetry = jumpToToday, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - ) - } else if (viewStyle == MonthViewStyle.Split) { - SplitMonthContent( - state = state, - selected = selectedDate, - slideDir = slideDir, - showWeekNumbers = showWeekNumbers, - onSwipeNext = goNext, - onSwipePrev = goPrev, - onRetry = jumpToToday, - onSelectDay = selectDay, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - onCreateEvent = { onCreateEvent(it, null) }, - ) - } else { - MonthContent( - state = state, - slideDir = slideDir, - showWeekNumbers = showWeekNumbers, - onSwipeNext = goNext, - onSwipePrev = goPrev, - onRetry = jumpToToday, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - ) + try { + listState.animateScrollToItem( + if (dense) weekIndexOf(today, weekStart) + else itemIndexForMonth(monthIndexOf(targetMonth)), + ) + } finally { + if (scrollRequestId == requestId) { + pendingScrollMonth = null } } } - MonthDragOverlay(chipDrag) + } else { + viewModel.goToToday() + jumpToMonth(YearMonth(today.year, today.month)) + } + } + // Drawer jump-to-date. + val jumpToDate: (LocalDate) -> Unit = { target -> + if (scrolling) { + val targetMonth = YearMonth(target.year, target.month) + pendingScrollMonth = targetMonth + val requestId = ++scrollRequestId + viewModel.goToDate(target) + scope.launch { + try { + listState.animateScrollToItem( + if (dense) weekIndexOf(LocalDate(target.year, target.month, 1), weekStart) + else itemIndexForMonth(monthIndexOf(targetMonth)), + ) + } finally { + if (scrollRequestId == requestId) { + pendingScrollMonth = null + } + } } + } else { + viewModel.goToDate(target) + jumpToMonth(YearMonth(target.year, target.month)) + } + } + + PublishChrome( + ScreenChrome( + title = topBarTitle, + shortTitle = topBarShortTitle, + titleDate = LocalDate(titleMonth.year, titleMonth.month, 1), + drawerDate = LocalDate(titleMonth.year, titleMonth.month, 1), + awayFromToday = !isOnCurrentMonth, + todayText = stringResource(R.string.month_today_action), + ), + ScreenActions( + onToday = jumpToToday, + onJumpToDate = jumpToDate, + onCreate = { + // Split has a selected day; the other styles anchor on today when + // its month is shown, else the 1st. + onCreateEvent( + when { + (viewStyle == MonthViewStyle.Split || + (viewStyle == MonthViewStyle.Paged && !splitExpanded)) -> selectedDate + ?: if (isOnCurrentMonth) today else LocalDate(titleMonth.year, titleMonth.month, 1) + isOnCurrentMonth -> today + else -> LocalDate(titleMonth.year, titleMonth.month, 1) + }, + null, + ) + }, + ), + ) + + ScreenBody(modifier = modifier) { innerPadding -> + // Hoisted above every style's grid: a dragged chip is drawn in an + // overlay, clear of the week row's and the list viewport's clips. + val chipDrag = rememberMonthDragController() + // Undo moves the event back, so the chip travels back too. The + // signal comes from the write, not from the chip that offers it. + OnUndoStarted { chipDrag.beginUndo() } + Box( + modifier = Modifier + .padding(innerPadding) + .fillMaxSize(), + ) { + Column(modifier = Modifier.fillMaxSize()) { + WeekdayHeader(weekStart = weekStart, showWeekNumbers = showWeekNumbers) + CompositionLocalProvider( + LocalDimCutoff provides dimCutoff, + LocalMonthDrag provides chipDrag, + LocalTodayPulse provides todayPulse, + LocalOpenWeek provides onOpenWeek, + ) { + if (scrolling) { + ContinuousMonthContent( + state = continuousState, + listState = listState, + dense = dense, + showWeekNumbers = showWeekNumbers, + onRetry = jumpToToday, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + ) + } else if (viewStyle == MonthViewStyle.Split || viewStyle == MonthViewStyle.Paged) { + SplitMonthContent( + state = state, + selected = selectedDate, + initiallyExpanded = viewStyle == MonthViewStyle.Paged, + expanded = splitExpanded, + onExpandedChange = { splitExpanded = it }, + pagerState = pagerState, + weekStart = weekStart, + monthState = viewModel::month, + showWeekNumbers = showWeekNumbers, + onPaneSwipeNext = { viewModel.stepSplitPane(1) }, + onPaneSwipePrev = { viewModel.stepSplitPane(-1) }, + onClearSelection = viewModel::clearSelection, + onRetry = jumpToToday, + // A tapped leading/trailing day follows to its own + // month, pager and all — straight away, or a swipe + // still settling would land and take the tap back. + onSelectDay = { date -> + viewModel.selectDate(date) + jumpToMonth(YearMonth(date.year, date.month)) + }, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + onCreateEvent = { onCreateEvent(it, null) }, + ) + } else { + MonthContent( + state = state, + pagerState = pagerState, + weekStart = weekStart, + monthState = viewModel::month, + showWeekNumbers = showWeekNumbers, + onRetry = jumpToToday, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + ) + } + } + } + MonthDragOverlay(chipDrag) } } } @@ -595,41 +680,110 @@ private fun MonthDragOverlay(controller: MonthDragController) { @Composable private fun MonthContent( state: MonthUiState, - slideDir: Int, + pagerState: PagerState, + weekStart: DayOfWeek, + monthState: (YearMonth, DayOfWeek) -> StateFlow, showWeekNumbers: Boolean, - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, onRetry: () -> Unit, onOpenDay: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, ) { - val slideSpec = rememberCalendarSlideSpec() val fadeSpec = rememberCalendarFadeSpec() - val reduceMotion = rememberReduceMotion() - val swipeModifier = rememberMonthSwipeModifier(onSwipeNext, onSwipePrev) - + // Loading and failure concern the provider as a whole, so they stand in for + // the pager; a page still loading its own month handles that itself. AnimatedContent( targetState = state, - modifier = Modifier.fillMaxSize().then(swipeModifier), - contentKey = { s -> - when (s) { - is MonthUiState.Success -> "success-${s.month}" - is MonthUiState.Failure -> "failure-${s.reason}" - MonthUiState.Loading -> "loading" - } - }, - transitionSpec = { calendarSlideTransition(slideDir, slideSpec, fadeSpec, reduceMotion) }, - label = "month-transition", + modifier = Modifier.fillMaxSize(), + contentKey = { it::class }, + transitionSpec = { fadeIn(fadeSpec) togetherWith fadeOut(fadeSpec) }, + label = "month-state", ) { s -> when (s) { MonthUiState.Loading -> MonthGridLoading() is MonthUiState.Failure -> CalendarFailure(reason = s.reason, onRetry = onRetry) - is MonthUiState.Success -> MonthGrid( - state = s, - showWeekNumbers = showWeekNumbers, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - ) + is MonthUiState.Success -> MonthPager( + pagerState = pagerState, + weekStart = weekStart, + monthState = monthState, + modifier = Modifier.fillMaxSize(), + ) { _, page -> + MonthGrid( + state = page, + showWeekNumbers = showWeekNumbers, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + ) + } + } + } +} + +/** + * The paged and split styles' months as pages that follow the finger and snap + * once a swipe passes half a page or is flung (#336). Only the page on screen + * carries the chip drag and the morph tags: its neighbours show some of its + * dates among their leading and trailing days, and would otherwise claim its + * drops and its shared elements. + */ +@Composable +private fun MonthPager( + pagerState: PagerState, + weekStart: DayOfWeek, + monthState: (YearMonth, DayOfWeek) -> StateFlow, + modifier: Modifier = Modifier, + loading: @Composable () -> Unit = { MonthGridLoading() }, + page: @Composable (index: Int, state: MonthUiState.Success) -> Unit, +) { + val chipDrag = LocalMonthDrag.current + HorizontalPager( + state = pagerState, + modifier = modifier, + // The months either side are composed ahead, so a swipe lands on a loaded + // month rather than watching it fill in. + beyondViewportPageCount = 1, + verticalAlignment = Alignment.Top, + // A held chip moves within its month; the page stays put under it. + userScrollEnabled = chipDrag?.isDragging != true, + flingBehavior = PagerDefaults.flingBehavior( + state = pagerState, + snapAnimationSpec = rememberCalendarPageSpec(), + ), + ) { index -> + MonthPage( + index = index, + active = index == pagerState.currentPage, + morphActive = morphPageActive(index, pagerState.settledPage), + weekStart = weekStart, + monthState = monthState, + loading = loading, + page = page, + ) + } +} + +@Composable +private fun MonthPage( + index: Int, + active: Boolean, + morphActive: Boolean, + weekStart: DayOfWeek, + monthState: (YearMonth, DayOfWeek) -> StateFlow, + loading: @Composable () -> Unit, + page: @Composable (index: Int, state: MonthUiState.Success) -> Unit, +) { + val ym = yearMonthForIndex(index) + val state by remember(ym, weekStart) { monthState(ym, weekStart) }.collectAsStateWithLifecycle() + val chipDrag = LocalMonthDrag.current + val morph = LocalMonthMorph.current + val viewMorph = LocalViewMorph.current + CompositionLocalProvider( + LocalMonthDrag provides chipDrag.takeIf { active }, + LocalMonthMorph provides morph.takeIf { active }, + LocalViewMorph provides viewMorph.takeIf { morphActive }, + ) { + when (val s = state) { + is MonthUiState.Success -> page(index, s) + else -> loading() } } } @@ -676,62 +830,6 @@ private fun ContinuousMonthContent( } } -@OptIn(ExperimentalMaterial3Api::class) -@Composable -private fun MonthTopBar( - title: String, - shortTitle: String, - titleDate: LocalDate, - selectedView: CalendarView, - onCycleView: () -> Unit, - quickSwitchViews: List, - onOpenDrawer: () -> Unit, - onOpenSearch: () -> Unit, - onJumpToDate: (LocalDate) -> Unit, - showTodayButton: Boolean, - onToday: () -> Unit, -) { - TopAppBar( - title = { - CalendarTitleButton( - title = title, - currentDate = titleDate, - onJumpToDate = onJumpToDate, - shortTitle = shortTitle, - ) - }, - navigationIcon = { - IconButton(onClick = onOpenDrawer) { - Icon( - imageVector = Icons.Default.Menu, - contentDescription = stringResource(R.string.month_open_menu), - ) - } - }, - actions = { - TodayAction(show = showTodayButton, onToday = onToday) - IconButton(onClick = onOpenSearch) { - Icon( - imageVector = Icons.Default.Search, - contentDescription = stringResource(R.string.search_action), - ) - } - ViewSwitcherPill( - current = selectedView, - cycle = quickSwitchViews, - onCycle = onCycleView, - ) - }, - // Deliberately flat: M3 lifts the bar to mark content scrolling under - // it, but here the bar meets the header on the same surface and the - // tint is what makes that seam look like a separate block (#186). - colors = TopAppBarDefaults.topAppBarColors( - containerColor = MaterialTheme.colorScheme.surface, - scrolledContainerColor = MaterialTheme.colorScheme.surface, - ), - ) -} - @Composable internal fun WeekdayHeader(weekStart: DayOfWeek, showWeekNumbers: Boolean) { val locale = currentLocale() @@ -784,7 +882,7 @@ private fun rememberWeekNumberGutter(): Dp { val style = weekNumberStyle() return remember(style, density, measurer) { val text = with(density) { measurer.measure(WEEK_NUMBER_SAMPLE, style).size.width.toDp() } - text + (WEEK_NUMBER_PADDING + CELL_GAP) * 2 + (text + (WEEK_NUMBER_PADDING + CELL_GAP) * 2).coerceAtLeast(48.dp) } } @@ -1148,88 +1246,35 @@ internal fun DenseMonthGrid( } } -/** Which way a drag went, decided once per gesture and then held. */ -private enum class DragAxis { Undecided, Horizontal, Vertical } - /** - * The month grid's drag gesture: horizontal pages the month, vertical expands or - * collapses the split style (#53). The grid doesn't follow the finger, so there is - * no distance to rubber-band against — it commits the moment the accumulated drag - * clears the threshold, once per gesture, exactly as - * [rememberCalendarPageSwipe][de.jeanlucmakiola.calendula.ui.common.rememberCalendarPageSwipe] - * does for the week and day views. - * - * This is the month's own detector rather than that shared one because it needs - * two axes, and the axis is **locked on the first movement and held for the whole - * gesture** so a drag can page or expand but never both. Two independent - * detectors on one surface would each see their own component of a diagonal drag - * and both fire. - * - * The horizontal threshold is the shared one. The vertical is larger — swapping - * the whole layout out deserves a more deliberate pull than stepping to the next - * month. - * - * [onExpand]/[onCollapse] are null for the paged style, which leaves the vertical - * axis unclaimed: the lock still happens, so a vertical drag there does nothing - * rather than being re-read as a page turn. + * The split style's expand gesture: a downward drag trades the pane away for the + * full grid, an upward one brings it back (#53). Vertical only — the months page + * on the pager inside it, and each detector only claims its own axis at the + * slop, so a drag can page or expand but never both. Commits the moment the drag + * clears [MONTH_EXPAND_THRESHOLD], once per gesture. */ @Composable -private fun rememberMonthSwipeModifier( - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, - onExpand: (() -> Unit)? = null, - onCollapse: (() -> Unit)? = null, -): Modifier { - val density = LocalDensity.current - val pageThreshold = with(density) { CALENDAR_SWIPE_THRESHOLD.toPx() } - val expandThreshold = with(density) { MONTH_EXPAND_THRESHOLD.toPx() } - return Modifier.pointerInput(onSwipeNext, onSwipePrev, onExpand, onCollapse) { - var accum = Offset.Zero - var axis = DragAxis.Undecided +private fun rememberSplitExpandDrag(onExpand: () -> Unit, onCollapse: () -> Unit): Modifier { + val threshold = with(LocalDensity.current) { MONTH_EXPAND_THRESHOLD.toPx() } + val currentExpand by rememberUpdatedState(onExpand) + val currentCollapse by rememberUpdatedState(onCollapse) + return Modifier.pointerInput(threshold) { + var accum = 0f + // One commit per gesture: without this a long drag would keep re-firing + // every time the accumulator crossed the threshold again. var fired = false - detectDragGestures( + detectVerticalDragGestures( onDragStart = { - accum = Offset.Zero - axis = DragAxis.Undecided + accum = 0f fired = false }, - onDragEnd = { - accum = Offset.Zero - axis = DragAxis.Undecided - fired = false - }, - onDragCancel = { - accum = Offset.Zero - axis = DragAxis.Undecided - fired = false - }, - onDrag = { _, drag -> + onVerticalDrag = { _, drag -> accum += drag - if (axis == DragAxis.Undecided) { - // Ties go horizontal, keeping paging the default reading of an - // ambiguous drag as it was before the vertical axis existed. - axis = if (abs(accum.x) >= abs(accum.y)) { - DragAxis.Horizontal - } else { - DragAxis.Vertical - } - } - // Both axes commit the instant the drag clears their threshold, - // rather than on release — see [rememberCalendarPageSwipe], which - // does the same for the week and day views. if (!fired) { - val commit = when (axis) { - DragAxis.Horizontal -> when { - accum.x < -pageThreshold -> onSwipeNext - accum.x > pageThreshold -> onSwipePrev - else -> null - } - DragAxis.Vertical -> when { - accum.y > expandThreshold -> onExpand - accum.y < -expandThreshold -> onCollapse - else -> null - } - DragAxis.Undecided -> null + val commit = when { + accum > threshold -> currentExpand + accum < -threshold -> currentCollapse + else -> null } if (commit != null) { fired = true @@ -1246,13 +1291,16 @@ private val MONTH_EXPAND_THRESHOLD = 48.dp /** * Split style content: the compact grid keeps the month swipe, the pane below it - * lists whatever day is selected — and a downward drag trades the pane away for - * the full paged grid, an upward one brings it back (#53). + * lists the month's agenda or the selected day — and a downward drag trades the + * pane away for the full paged grid, an upward one brings it back (#53). The + * paged style is the same surface opened the other way up (#111). * - * The grid slides between months like the paged style, and stands only as many - * rows tall as its own month spans (#162). A swipe between a five-row month and - * a six-row one therefore moves the pane by a row as well as swapping the grid; - * the row it hands back is worth more to the pane than a still edge is. + * One pager holds whole months — grid, handle and pane — and each page switches + * between its two faces itself. An expand therefore morphs inside a page that + * stays put: with a pager per face, every expand swapped one pager for another, + * and whether the pieces paired up came down to frame timing. + * + * The grid stands only as many rows tall as its own month spans (#162). * * Expansion is deliberately **not** a stored preference. It is a way to look at * the month you are on, not a fourth style; persisted, someone would expand it @@ -1264,11 +1312,17 @@ private val MONTH_EXPAND_THRESHOLD = 48.dp @Composable private fun SplitMonthContent( state: MonthUiState, - selected: LocalDate, - slideDir: Int, + selected: LocalDate?, + initiallyExpanded: Boolean, + expanded: Boolean, + onExpandedChange: (Boolean) -> Unit, + pagerState: PagerState, + weekStart: DayOfWeek, + monthState: (YearMonth, DayOfWeek) -> StateFlow, showWeekNumbers: Boolean, - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, + onPaneSwipeNext: () -> Unit, + onPaneSwipePrev: () -> Unit, + onClearSelection: () -> Unit, onRetry: () -> Unit, onSelectDay: (LocalDate) -> Unit, onOpenDay: (LocalDate) -> Unit, @@ -1277,175 +1331,258 @@ private fun SplitMonthContent( ) { val fadeSpec = rememberCalendarFadeSpec() val reduceMotion = rememberReduceMotion() - var expanded by rememberSaveable { mutableStateOf(false) } - // Back collapses before it does anything else. Expanding replaces the whole - // screen, so it is a place you can be, and every other place in the app can - // be backed out of. Declared deeper than CalendarHost's view-stack handler, - // which is what makes it win while it is enabled. - BackHandler(enabled = expanded) { expanded = false } - // The swipe wraps the grid rather than living inside it: mid-transition - // there are two grids, and the gesture belongs to neither. The pane is left - // out of it — it scrolls and is full of tappable rows. - val swipeModifier = rememberMonthSwipeModifier( - onSwipeNext = onSwipeNext, - onSwipePrev = onSwipePrev, - onExpand = { expanded = true }, - onCollapse = { expanded = false }, + val haptics = LocalHapticFeedback.current + BackHandler(enabled = expanded != initiallyExpanded) { + onExpandedChange(initiallyExpanded) + } + val expandDrag = rememberSplitExpandDrag( + onExpand = { + if (!expanded) { + onExpandedChange(true) + haptics.performHapticFeedback(HapticFeedbackType.SegmentTick) + } + }, + onCollapse = { + if (expanded) { + onExpandedChange(false) + haptics.performHapticFeedback(HapticFeedbackType.SegmentTick) + } + }, ) + // In the split style a tap in the expanded grid picks the day and drops back, + // which gives the expanded month a job — a chooser you dip into — rather than + // a mode you can get stranded in. The collapse then runs with the selection + // already set, so the pane arrives showing the day you picked. The paged + // style's grid is its home, so a tap there opens the day (#111). + val onPickDay: (LocalDate) -> Unit = if (initiallyExpanded) { + onOpenDay + } else { + { + onSelectDay(it) + onExpandedChange(false) + } + } + // The view switch's own shared scope: a SharedTransitionLayout nested in the + // host's would be a second lookahead scope. Null under reduced motion. + val viewMorph = LocalViewMorph.current + val shared = viewMorph?.shared + val chipDrag = LocalMonthDrag.current when (state) { MonthUiState.Loading -> MonthGridLoading() is MonthUiState.Failure -> CalendarFailure(reason = state.reason, onRetry = onRetry) - is MonthUiState.Success -> SharedTransitionLayout(Modifier.fillMaxSize()) { + is MonthUiState.Success -> HorizontalPager( + state = pagerState, + modifier = Modifier.fillMaxSize(), + // The months either side are composed ahead, so a swipe lands on a + // loaded month rather than watching it fill in. + beyondViewportPageCount = 1, + verticalAlignment = Alignment.Top, + // A held chip moves within its month; the page stays put under it. + userScrollEnabled = chipDrag?.isDragging != true, + flingBehavior = PagerDefaults.flingBehavior( + state = pagerState, + snapAnimationSpec = rememberCalendarPageSpec(), + ), + ) { index -> + val ym = yearMonthForIndex(index) + val pageState by remember(ym, weekStart) { monthState(ym, weekStart) } + .collectAsStateWithLifecycle() + val page = pageState as? MonthUiState.Success ?: return@HorizontalPager + // Only the settled page carries the drag and the morph tags: its + // neighbours repeat some of its dates and would claim them. + val active = index == pagerState.settledPage + // The selection only ever lies in the anchor month. + val pageSelected = selected?.takeIf { it.year == ym.year && it.month == ym.month } AnimatedContent( targetState = expanded, modifier = Modifier.fillMaxSize(), - // Both branches fill the same box — the grid grows into exactly the + // Both faces fill the same page — the grid grows into exactly the // room the pane gives up — so there is no size change to contain. - // The travel between them is the shared elements' job, not a slide. + // The travel between them is the shared elements' job. transitionSpec = { fadeIn(fadeSpec) togetherWith fadeOut(fadeSpec) }, - label = "split-expand-transition", + label = "split-expand", ) { isExpanded -> - CompositionLocalProvider( - // Null under reduced motion: nothing is tagged, nothing - // travels, and the cross-fade above is the whole transition. - LocalMonthMorph provides if (reduceMotion) { - null + // The view switch's morph stays off a face until it has fully + // entered (#184): both faces tag the same events for it. Switched + // off rather than removed — adding and dropping the tags rebuilt + // every bar's modifier chain around the expand morph, which left + // bars standing still on later collapses. + val faceTransition = transition + val faceViewMorph = remember(viewMorph, active, faceTransition) { + viewMorph?.takeIf { active }?.gated { + faceTransition.currentState == EnterExitState.Visible + } + } + val monthMorph = remember(active, reduceMotion, shared, this) { + if (active && !reduceMotion && shared != null) { + MonthMorphScope(shared, this) } else { - MonthMorphScope(this@SharedTransitionLayout, this@AnimatedContent) - }, + null + } + } + CompositionLocalProvider( + LocalMonthDrag provides chipDrag.takeIf { active }, + LocalViewMorph provides faceViewMorph, + LocalMonthMorph provides monthMorph, ) { - SplitMonthBody( - expanded = isExpanded, - state = state, - selected = selected, - slideDir = slideDir, - showWeekNumbers = showWeekNumbers, - swipeModifier = swipeModifier, - onSelectDay = onSelectDay, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - onCreateEvent = onCreateEvent, - onSetExpanded = { expanded = it }, - ) + if (isExpanded) { + SplitMonthExpanded( + state = page, + selected = pageSelected, + showWeekNumbers = showWeekNumbers, + expandDrag = expandDrag, + onPickDay = onPickDay, + // A tapped chip is asking for that event, not for its + // day, so it opens the detail from here too rather + // than collapsing (#187). + onEventClick = onEventClick, + onCollapse = { onExpandedChange(false) }, + ) + } else { + // The pane is still invisible for the first stretch of a + // collapse, so it is built once the grid has mostly + // landed, not on the morph's opening frames. + var paneReady by remember { + mutableStateOf(reduceMotion || transition.currentState == EnterExitState.Visible) + } + LaunchedEffect(Unit) { + if (!paneReady) { + delay(SPLIT_PANE_COMPOSE_DELAY_MILLIS) + paneReady = true + } + } + SplitMonthCollapsed( + state = page, + paneReady = paneReady, + selected = pageSelected, + showWeekNumbers = showWeekNumbers, + expandDrag = expandDrag, + onSelectDay = onSelectDay, + onPaneSwipeNext = onPaneSwipeNext, + onPaneSwipePrev = onPaneSwipePrev, + onClearSelection = onClearSelection, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + onCreateEvent = onCreateEvent, + onExpand = { onExpandedChange(true) }, + // The pane waits for the grid to settle, and clears + // out before it grows, so the two never overlap. + paneModifier = if (reduceMotion) { + Modifier + } else { + Modifier.animateEnterExit( + enter = fadeIn( + tween(SPLIT_PANE_FADE_IN_MILLIS, SPLIT_PANE_FADE_IN_DELAY_MILLIS, SPLIT_PANE_EASING), + ), + exit = fadeOut(tween(SPLIT_PANE_FADE_OUT_MILLIS)), + ) + }, + ) + } } } } } } -/** The two faces of the split style, sharing one set of morph tags. */ -@Composable -private fun SplitMonthBody( - expanded: Boolean, - state: MonthUiState.Success, - selected: LocalDate, - slideDir: Int, - showWeekNumbers: Boolean, - swipeModifier: Modifier, - onSelectDay: (LocalDate) -> Unit, - onOpenDay: (LocalDate) -> Unit, - onEventClick: (EventInstance) -> Unit, - onCreateEvent: (LocalDate) -> Unit, - onSetExpanded: (Boolean) -> Unit, -) { - if (expanded) { - SplitMonthExpanded( - state = state, - selected = selected, - slideDir = slideDir, - showWeekNumbers = showWeekNumbers, - swipeModifier = swipeModifier, - // A tap in the expanded grid picks the day and drops back, which - // gives the expanded month a job — a chooser you dip into — rather - // than a mode you can get stranded in. The collapse then runs with - // the selection already set, so the pane arrives showing the day - // you picked. - onPickDay = { - onSelectDay(it) - onSetExpanded(false) - }, - // A tapped chip is asking for that event, not for its day, so it - // opens the detail from here too rather than collapsing (#187). - onEventClick = onEventClick, - onCollapse = { onSetExpanded(false) }, - ) - } else { - SplitMonthCollapsed( - state = state, - selected = selected, - slideDir = slideDir, - showWeekNumbers = showWeekNumbers, - swipeModifier = swipeModifier, - onSelectDay = onSelectDay, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - onCreateEvent = onCreateEvent, - onExpand = { onSetExpanded(true) }, - ) - } -} - -/** The split style at rest: compact grid, handle, then the selected day's events. */ +/** The split style at rest: compact grid, handle, then the agenda or the selected day. */ @Composable private fun SplitMonthCollapsed( state: MonthUiState.Success, - selected: LocalDate, - slideDir: Int, + paneReady: Boolean, + selected: LocalDate?, showWeekNumbers: Boolean, - swipeModifier: Modifier, + expandDrag: Modifier, onSelectDay: (LocalDate) -> Unit, + onPaneSwipeNext: () -> Unit, + onPaneSwipePrev: () -> Unit, + onClearSelection: () -> Unit, onOpenDay: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, onCreateEvent: (LocalDate) -> Unit, onExpand: () -> Unit, + paneModifier: Modifier = Modifier, ) { - val slideSpec = rememberCalendarSlideSpec() - val fadeSpec = rememberCalendarFadeSpec() - val reduceMotion = rememberReduceMotion() - Column(Modifier.fillMaxSize()) { // Grid and handle drag as one surface — the handle is what advertises the // gesture, so it has to answer to it as well as to a tap. The pane is // outside: it scrolls, and is full of tappable rows. - Column(swipeModifier) { - AnimatedContent( - // The selection travels *with* the state so each page keeps its - // own. Read from outside, both pages would show the incoming - // one, and paging visibly threw the marker across the outgoing - // grid — onto the new month's 1st, which the old grid still - // shows among its trailing days — before the new page arrived. - targetState = state to selected, - // Keyed on the month alone, so a provider notification refreshing - // the month you are on — or a tap moving the selection within it - // — updates in place instead of sliding. - contentKey = { (s, _) -> s.month }, - transitionSpec = { - calendarSlideTransition(slideDir, slideSpec, fadeSpec, reduceMotion) - }, - label = "split-month-transition", - ) { (s, sel) -> - SplitMonthGrid( - state = s, - selected = sel, - showWeekNumbers = showWeekNumbers, - onSelectDay = onSelectDay, - ) - } + Column(expandDrag) { + SplitMonthGrid( + state = state, + selected = selected, + showWeekNumbers = showWeekNumbers, + onSelectDay = onSelectDay, + modifier = Modifier.height(splitGridHeight(state.weeks.size)), + ) SplitExpandHandle(expanded = false, onToggle = onExpand) } - SplitDayPane( - date = selected, - today = state.today, - // Null, not empty: the selection moves to the new month before - // its data arrives, and a missing key means "not loaded yet". - // Passing an empty list would claim the day was free. - events = state.instancesByDay[selected], - zone = state.zone, - onOpenDay = onOpenDay, - onEventClick = onEventClick, - onCreateEvent = onCreateEvent, - modifier = Modifier.weight(1f).fillMaxWidth(), + if (!paneReady) { + Spacer(Modifier.weight(1f)) + } else if (selected == null) { + // The agenda pages with the month, on the pager itself. + Box(Modifier.weight(1f).fillMaxWidth().then(paneModifier)) { + SplitMonthAgendaPane( + state = state, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + onCreateEvent = onCreateEvent, + ) + } + } else { + // A selected day steps a day at a time instead, so the swipe is + // taken before the pager sees it. + Column( + Modifier.weight(1f).fillMaxWidth() + .then(paneModifier) + .then(rememberSplitPaneSwipe(onPaneSwipeNext, onPaneSwipePrev)), + ) { + InputChip( + selected = true, + onClick = onClearSelection, + label = { Text(agendaDayLabel(selected, state.today)) }, + trailingIcon = { + Icon( + Icons.Default.Close, + contentDescription = stringResource(R.string.month_split_clear_filter), + ) + }, + modifier = Modifier.padding(start = 16.dp), + ) + SplitDayPane( + date = selected, + today = state.today, + events = state.instancesByDay[selected], + zone = state.zone, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + onCreateEvent = onCreateEvent, + modifier = Modifier.weight(1f).fillMaxWidth(), + ) + } + } + } +} + +@Composable +private fun rememberSplitPaneSwipe(onNext: () -> Unit, onPrev: () -> Unit): Modifier { + val threshold = with(LocalDensity.current) { 24.dp.toPx() } + val currentNext by rememberUpdatedState(onNext) + val currentPrev by rememberUpdatedState(onPrev) + return Modifier.pointerInput(threshold) { + var distance = 0f + var fired = false + detectHorizontalDragGestures( + onDragStart = { distance = 0f; fired = false }, + onHorizontalDrag = { change, drag -> + change.consume() + distance += drag + if (!fired && kotlin.math.abs(distance) >= threshold) { + fired = true + if (distance < 0f) currentNext() else currentPrev() + } + }, ) } } @@ -1463,36 +1600,23 @@ private fun SplitMonthCollapsed( private fun SplitMonthExpanded( state: MonthUiState.Success, /** Marked nowhere here; it only anchors the outline's morph. */ - selected: LocalDate, - slideDir: Int, + selected: LocalDate?, showWeekNumbers: Boolean, - swipeModifier: Modifier, + expandDrag: Modifier, onPickDay: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, onCollapse: () -> Unit, ) { - val slideSpec = rememberCalendarSlideSpec() - val fadeSpec = rememberCalendarFadeSpec() - val reduceMotion = rememberReduceMotion() - // The whole screen drags here, handle included — there is no pane to keep out // of it, and the handle is the obvious thing to reach for on the way back. - Column(Modifier.fillMaxSize().then(swipeModifier)) { - AnimatedContent( - targetState = state to selected, - modifier = Modifier.weight(1f), - contentKey = { (s, _) -> s.month }, - transitionSpec = { - calendarSlideTransition(slideDir, slideSpec, fadeSpec, reduceMotion) - }, - label = "split-expanded-month-transition", - ) { (s, sel) -> + Column(Modifier.fillMaxSize().then(expandDrag)) { + Box(Modifier.weight(1f)) { MonthGrid( - state = s, + state = state, showWeekNumbers = showWeekNumbers, onOpenDay = onPickDay, onEventClick = onEventClick, - selected = sel, + selected = selected, ) } SplitExpandHandle(expanded = true, onToggle = onCollapse) @@ -1543,7 +1667,16 @@ private fun SplitExpandHandle( * it's roughly a third of a paged row — which is the point: the space it gives * up goes to the day pane below. */ -private val SPLIT_ROW_HEIGHT = 46.dp +private val SPLIT_ROW_HEIGHT = 48.dp + +/** Vertical padding and row gap of [SplitMonthGrid], which [splitGridHeight] pays for. */ +private val SPLIT_GRID_VERTICAL_PADDING = 4.dp +private val SPLIT_ROW_GAP = 2.dp + +/** How tall [SplitMonthGrid] stands for a month spanning [rows] weeks. */ +private fun splitGridHeight(rows: Int): Dp = + SPLIT_ROW_HEIGHT * rows + SPLIT_ROW_GAP * (rows - 1).coerceAtLeast(0) + + SPLIT_GRID_VERTICAL_PADDING * 2 private val SPLIT_DOT_SIZE = 5.dp // Dots are capped by SPLIT_DOT_LANES, not a constant of their own: they stand for // the paged grid's lanes, so the two caps have to be the same number or a dot @@ -1557,6 +1690,13 @@ private val SPLIT_HANDLE_WIDTH = 32.dp private val SPLIT_HANDLE_HEIGHT = 4.dp private val SPLIT_HANDLE_ROW_HEIGHT = 24.dp +/** The pane below the split grid fades in once the grid's morph has mostly landed. */ +private const val SPLIT_PANE_FADE_IN_DELAY_MILLIS = 300 +private const val SPLIT_PANE_COMPOSE_DELAY_MILLIS = 250L +private const val SPLIT_PANE_FADE_IN_MILLIS = 250 +private const val SPLIT_PANE_FADE_OUT_MILLIS = 100 +private val SPLIT_PANE_EASING = CubicBezierEasing(0.05f, 0.7f, 0.1f, 1f) + /** * The split style's grid (#53): the month compressed to day numbers and event * dots, with the selected day listed underneath by [SplitDayPane]. @@ -1573,20 +1713,23 @@ private val SPLIT_HANDLE_ROW_HEIGHT = 24.dp @Composable internal fun SplitMonthGrid( state: MonthUiState.Success, - selected: LocalDate, + selected: LocalDate?, showWeekNumbers: Boolean, onSelectDay: (LocalDate) -> Unit, modifier: Modifier = Modifier, ) { val dark = isSystemInDarkTheme() val month = state.month + val hasToday = state.today.year == month.year && state.today.month == month.month + val ripple = rememberTodayRipple(active = hasToday) Column( modifier = modifier .fillMaxWidth() - .padding(horizontal = AppBarSpacing.Inset, vertical = 4.dp), - verticalArrangement = Arrangement.spacedBy(2.dp), + .padding(horizontal = AppBarSpacing.Inset, vertical = SPLIT_GRID_VERTICAL_PADDING), + verticalArrangement = Arrangement.spacedBy(SPLIT_ROW_GAP), ) { state.weeks.forEach { week -> + val todayCol = week.days.indexOf(state.today).takeIf { hasToday && it >= 0 } Row(Modifier.fillMaxWidth().height(SPLIT_ROW_HEIGHT)) { if (showWeekNumbers) { WeekNumberGutter( @@ -1617,6 +1760,8 @@ internal fun SplitMonthGrid( // page transition. isSelected = day == selected && inMonth, inMonth = inMonth, + relativeToToday = todayCol?.let { col - it }, + rippleProgress = { ripple.value }, dark = dark, onClick = { onSelectDay(day) }, modifier = Modifier.weight(1f).fillMaxHeight(), @@ -1643,6 +1788,8 @@ private fun SplitDayCell( isToday: Boolean, isSelected: Boolean, inMonth: Boolean, + relativeToToday: Int?, + rippleProgress: () -> Float, dark: Boolean, onClick: () -> Unit, modifier: Modifier = Modifier, @@ -1651,6 +1798,7 @@ private fun SplitDayCell( // the whole cell, which read as a second state on top of the day rather than // as a mark on it — and fought today's own circle when they coincided. val background = when { + isToday && inMonth -> todayCellColor() inMonth -> MaterialTheme.colorScheme.surfaceContainer else -> MaterialTheme.colorScheme.surfaceContainerLow } @@ -1683,6 +1831,7 @@ private fun SplitDayCell( Box( modifier = modifier .padding(horizontal = CELL_GAP, vertical = 1.dp) + .todayRipple(relativeToToday, rippleProgress) .selectable(selected = isSelected, onClick = onClick), contentAlignment = Alignment.TopCenter, ) { @@ -1808,6 +1957,54 @@ private fun SplitDots( } } +@OptIn(ExperimentalFoundationApi::class) +@Composable +private fun SplitMonthAgendaPane( + state: MonthUiState.Success, + onOpenDay: (LocalDate) -> Unit, + onEventClick: (EventInstance) -> Unit, + onCreateEvent: (LocalDate) -> Unit, +) { + val start = agendaStartForMonth(state.month, state.today) + val days = state.instancesByDay.keys + .filter { it >= start && it.year == state.month.year && it.month == state.month.month } + .filter { state.instancesByDay[it].orEmpty().isNotEmpty() } + .toMutableList() + .apply { if (start !in this) add(start) } + .sorted() + val dimCutoff = LocalDimCutoff.current + val listState = key(state.month) { rememberLazyListState() } + LazyColumn(state = listState, contentPadding = PaddingValues(top = 8.dp, bottom = 96.dp)) { + days.forEach { day -> + val events = state.instancesByDay[day].orEmpty() + stickyHeader(key = "header-$day") { + AgendaDayHeader(date = day, today = state.today, onOpenDay = onOpenDay) + } + if (events.isEmpty()) { + item(key = "empty-$day") { + AgendaEmptyDayRow( + text = stringResource(R.string.month_split_no_events), + onClick = { onCreateEvent(day) }, + ) + } + } else { + itemsIndexed(events, key = { _, event -> "$day-${event.instanceId}" }) { index, event -> + AgendaEventRow( + event = event, + day = day, + zone = state.zone, + position = positionOf(index, events.size), + dimmed = dimCutoff != null && event.hasEnded(dimCutoff), + modifier = animateItemMotion().morphEvent(ViewMorphKey.event(event, day)), + onClick = { onEventClick(event) }, + ) + } + } + item(key = "gap-$day") { Spacer(Modifier.height(8.dp)) } + } + } +} + /** * The selected day's events, in the agenda's own row vocabulary so the two * surfaces read as one app. The date header opens the full Day view, matching @@ -1871,7 +2068,7 @@ internal fun SplitDayPane( // An event added to or removed from the day you are // already looking at moves its neighbours rather // than teleporting them. - modifier = animateItemMotion(), + modifier = animateItemMotion().morphEvent(ViewMorphKey.event(event, day)), ) } } @@ -2031,6 +2228,8 @@ private fun MonthWeekRow( selected: LocalDate? = null, ) { val dark = isSystemInDarkTheme() + val todayCol = week.days.indexOf(today).takeIf { it >= 0 && inMonth(today) } + val ripple = rememberTodayRipple(active = todayCol != null) val overflowRow = rememberOverflowRowHeight() val laneCap = week.laneCapFor(rowHeight, overflowRow) val laneCount = (week.spans.maxOfOrNull { it.lane } ?: -1) + 1 @@ -2150,15 +2349,17 @@ private fun MonthWeekRow( // Spanning bars draw on top of these, bridging cells, so they still read // as one continuous event. Row(Modifier.matchParentSize()) { - week.days.forEach { d -> + week.days.forEachIndexed { col, d -> Box( Modifier .weight(1f) .fillMaxHeight() .padding(horizontal = CELL_GAP, vertical = 1.dp) .morphElement(MonthMorphKey.Cell(d)) + .todayRipple(todayCol?.let { col - it }) { ripple.value } .background( color = when { + d == today && inMonth(d) -> todayCellColor() inMonth(d) -> MaterialTheme.colorScheme.surfaceContainer // A blanked cell draws nothing at all: it is // the gap that shows where the month starts. @@ -2173,7 +2374,7 @@ private fun MonthWeekRow( Column(Modifier.fillMaxSize().padding(top = CELL_TOP_PADDING)) { Row(Modifier.fillMaxWidth()) { - week.days.forEach { d -> + week.days.forEachIndexed { col, d -> if (blankOutside && !inMonth(d)) { Spacer(Modifier.weight(1f).height(DAY_NUMBER_HEIGHT)) } else { @@ -2190,7 +2391,8 @@ private fun MonthWeekRow( }, modifier = Modifier .weight(1f) - .morphElement(MonthMorphKey.DayNumber(d)), + .morphElement(MonthMorphKey.DayNumber(d)) + .todayRipple(todayCol?.let { col - it }) { ripple.value }, ) } } @@ -2246,6 +2448,17 @@ private fun MonthWeekRow( instanceId = span.event.instanceId, ), ) + // A blanked day is drawn again in its own + // month's block, which owns the tag. + .then( + week.days[span.startCol].let { start -> + if (blankOutside && !inMonth(start)) { + Modifier + } else { + Modifier.morphEvent(ViewMorphKey.event(span.event, start)) + } + }, + ) .width(colW * cols) .height(EVENT_ROW_HEIGHT) .padding(horizontal = MONTH_CHIP_INSET, vertical = 1.dp), @@ -2303,8 +2516,16 @@ private fun MonthWeekRow( y = EVENT_ROW_HEIGHT * freeSlots[i], ) .morphBounds(MonthMorphKey.Event(d, ev.instanceId)) + .then( + if (blankOutside && !inMonth(d)) { + Modifier + } else { + Modifier.morphEvent(ViewMorphKey.event(ev, d)) + }, + ) .width(colW) .height(EVENT_ROW_HEIGHT) + .todayRipple(todayCol?.let { col - it }) { ripple.value } .padding(horizontal = MONTH_CHIP_INSET, vertical = 1.dp), ) } @@ -2538,8 +2759,13 @@ private fun monthChipDragModifier( private fun WeekNumberGutter(weekStart: LocalDate, modifier: Modifier = Modifier) { val weekNumber = remember(weekStart) { weekStart.toJavaLocalDate().isoWeekNumber() } val label = stringResource(R.string.week_number_label) + val openLabel = stringResource(R.string.month_open_week, weekNumber) + val onOpenWeek = LocalOpenWeek.current Box( modifier = modifier + .then(if (onOpenWeek != null) Modifier.clickable(onClickLabel = openLabel) { + onOpenWeek(weekStart) + } else Modifier) .padding(horizontal = CELL_GAP, vertical = 1.dp) .background(MaterialTheme.colorScheme.secondaryContainer, CELL_SHAPE) .semantics { contentDescription = "$label $weekNumber" }, @@ -2568,6 +2794,7 @@ private fun DayNumberCell( if (isToday) { Box( modifier = Modifier + .morphDay(date) .size(DAY_NUMBER_HEIGHT) .background(MaterialTheme.colorScheme.primary, CircleShape), contentAlignment = Alignment.Center, @@ -2588,6 +2815,7 @@ private fun DayNumberCell( maxLines = 1, overflow = TextOverflow.Visible, softWrap = false, + modifier = Modifier.morphDay(date), ) } else { Text( @@ -2595,6 +2823,7 @@ private fun DayNumberCell( style = MaterialTheme.typography.labelMedium, color = if (inMonth) MaterialTheme.colorScheme.onSurface else MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.4f), + modifier = Modifier.morphDay(date), ) } } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthViewModel.kt index 9123823..cd22771 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthViewModel.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/month/MonthViewModel.kt @@ -11,7 +11,9 @@ import de.jeanlucmakiola.calendula.domain.CalendarSource import de.jeanlucmakiola.calendula.domain.EventInstance import de.jeanlucmakiola.calendula.domain.FailureReason import de.jeanlucmakiola.calendula.domain.calendarListFailure +import de.jeanlucmakiola.calendula.ui.common.PageStateCache import de.jeanlucmakiola.calendula.domain.isDeclined +import de.jeanlucmakiola.calendula.domain.eventDisplayComparator import de.jeanlucmakiola.calendula.ui.week.coversDay import de.jeanlucmakiola.calendula.ui.week.layoutAllDay import de.jeanlucmakiola.calendula.ui.week.spansMultipleDays @@ -25,6 +27,9 @@ import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.filterNot +import kotlinx.coroutines.flow.map +import kotlin.math.abs import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn import kotlinx.datetime.DateTimeUnit @@ -44,6 +49,9 @@ import kotlin.time.Clock import kotlin.time.Instant import javax.inject.Inject +/** How many months either side of the requested one [MonthViewModel.month] keeps cached. */ +private const val MONTH_CACHE_SPAN = 2 + @OptIn(ExperimentalCoroutinesApi::class) @HiltViewModel class MonthViewModel @Inject constructor( @@ -87,6 +95,21 @@ class MonthViewModel @Inject constructor( private val _month = MutableStateFlow(YearMonth(todayDate.year, todayDate.month)) val month: StateFlow = _month + /** The pager page the anchor month sits on, for the paged and split styles. */ + val anchorPage: StateFlow = _month + .map { monthIndexOf(it) } + .stateIn( + scope = viewModelScope, + started = SharingStarted.WhileSubscribed(5_000L), + initialValue = monthIndexOf(_month.value), + ) + + /** + * The anchor month's state. Once loaded it never falls back to + * [MonthUiState.Loading]: moving the anchor keeps the last result until the + * new month arrives, since the pages draw their own months and this feeds + * the failure screen and the split style's day pane. + */ val state: StateFlow = combine(_month, weekStart, viewStyle) { ym, ws, style -> Triple(ym, ws, style) } .flatMapLatest { (ym, ws, style) -> @@ -94,22 +117,48 @@ class MonthViewModel @Inject constructor( // Split draw, so under a scrolling style this query is a month // of provider work for a view that isn't on screen. if (style.isScrolling) return@flatMapLatest flowOf(MonthUiState.Loading) - val range = monthGridRange(ym, ws, zone) - combine( - repository.calendars(), - repository.instances(range), - ) { calendars, instances -> - buildState(ym, ws, calendars, instances) - } + month(ym, ws).filterNot { it is MonthUiState.Loading } } .catch { emit(MonthUiState.Failure(FailureReason.ProviderUnavailable)) } - .flowOn(io) .stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(5_000L), initialValue = MonthUiState.Loading, ) + private val months = PageStateCache, MonthUiState>( + scope = viewModelScope, + initial = MonthUiState.Loading, + // Far enough to cover the pages either side and a swipe back, so paging + // through a year doesn't keep a year of queries around. A week-start + // change lays every month out afresh. + keep = { (cached, cachedWs), (requested, ws) -> + cachedWs == ws && abs(monthIndexOf(cached) - monthIndexOf(requested)) <= MONTH_CACHE_SPAN + }, + ) { (ym, ws) -> + combine( + repository.calendars(), + repository.instances(monthGridRange(ym, ws, zone)), + ) { calendars, instances -> + buildState(ym, ws, calendars, instances) + } + .catch { emit(MonthUiState.Failure(FailureReason.ProviderUnavailable)) } + .flowOn(io) + } + + /** + * Month [ym] laid out with weeks starting on [ws], shared between its pager + * page and [state]. Main thread only. + */ + fun month(ym: YearMonth, ws: DayOfWeek): StateFlow = months.get(ym to ws) + + /** The pager came to rest on [page]; follow it unless it is already the anchor's. */ + fun onPageSettled(page: Int) { + if (monthIndexOf(_month.value) == page) return + _month.value = yearMonthForIndex(page) + realignSelection() + } + // --- Continuous + Dense styles (#38) ---------------------------------- // // These scroll through every month there is, so they can't load "a month" — @@ -244,12 +293,10 @@ class MonthViewModel @Inject constructor( // --- Split style (#53) ------------------------------------------------ // - // The first selected-day concept in the app: the other views drill straight - // into a date, while the split style keeps one selected and lists it below - // the grid. + // Null means the full-month agenda; a date narrows the pane to that day. - private val _selectedDate = MutableStateFlow(todayDate) - val selectedDate: StateFlow = _selectedDate + private val _selectedDate = MutableStateFlow(null) + val selectedDate: StateFlow = _selectedDate /** * Select [date], following it to its month if it sits in the grid's leading @@ -257,33 +304,33 @@ class MonthViewModel @Inject constructor( * silently list a date the grid isn't pointing at. */ fun selectDate(date: LocalDate) { - _selectedDate.value = date val target = YearMonth(date.year, date.month) + _selectedDate.value = if (target == _month.value && _selectedDate.value == date) null else date if (target != _month.value) _month.value = target } - /** - * Move the selection with the month: today if the new month holds it, else - * its 1st. Leaving the old date selected would list a day the grid no longer - * shows. - */ + fun clearSelection() { _selectedDate.value = null } + + /** A pane swipe walks days when filtered, months when showing the agenda. */ + fun stepSplitPane(days: Int) { + val selected = _selectedDate.value + if (selected == null) { + _month.value = yearMonthForIndex(monthIndexOf(_month.value) + days) + } else { + val next = selected.plus(days, DateTimeUnit.DAY) + _selectedDate.value = next + _month.value = YearMonth(next.year, next.month) + } + } + + /** Moving the grid to another month restores its full agenda. */ private fun realignSelection() { - _selectedDate.value = selectionForMonth(_month.value, todayDate) - } - - fun goToPrev() { - _month.value = _month.value.minus(1, DateTimeUnit.MONTH) - realignSelection() - } - - fun goToNext() { - _month.value = _month.value.plus(1, DateTimeUnit.MONTH) - realignSelection() + _selectedDate.value = null } fun goToToday() { _month.value = YearMonth(todayDate.year, todayDate.month) - _selectedDate.value = todayDate + _selectedDate.value = null } /** @@ -292,13 +339,12 @@ class MonthViewModel @Inject constructor( * otherwise sit wherever paged navigation last left it (today's month, on a * fresh open) — and a switch to a paged style, or a reseed of the other * scrolling style's list, would jump there instead of holding position. The - * selection is realigned alongside it so that landing on the Split style - * shows a live day in the month on screen rather than a stale, off-month one. + * selection is cleared alongside it so Split opens the visible month's agenda. */ fun syncScrollMonth(ym: YearMonth) { if (_month.value == ym) return _month.value = ym - _selectedDate.value = selectionForMonth(ym, todayDate) + _selectedDate.value = null } /** Jump to the month containing [date] (drawer jump-to-date). */ @@ -461,11 +507,7 @@ internal fun instancesByDay( days.associateWith { day -> instances .filter { it.coversDay(day, zone) } - .sortedWith( - compareBy { it.isDeclined } - .thenByDescending { it.isAllDay } - .thenBy { it.start }, - ) + .sortedWith(eventDisplayComparator(zone)) } /** @@ -506,11 +548,10 @@ private const val WINDOW_EDGE = 2 internal fun edgeForPad(pad: Int): Int = minOf(WINDOW_EDGE, pad - 1).coerceAtLeast(0) /** - * Which day the split style should select when the grid lands on [month]: - * [today] when the month holds it, otherwise the 1st. Pure so the rule can be - * tested without standing up a view model and a provider behind it. + * First day shown in the split agenda: today in the current month, otherwise + * the first of the visible month. */ -internal fun selectionForMonth(month: YearMonth, today: LocalDate): LocalDate = +internal fun agendaStartForMonth(month: YearMonth, today: LocalDate): LocalDate = if (YearMonth(today.year, today.month) == month) { today } else { diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/onboarding/ViewStep.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/onboarding/ViewStep.kt index caf14e4..defdd8b 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/onboarding/ViewStep.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/onboarding/ViewStep.kt @@ -18,11 +18,11 @@ import de.jeanlucmakiola.calendula.data.prefs.resolveFirstDay import de.jeanlucmakiola.calendula.ui.agenda.AgendaViewPreview import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS +import de.jeanlucmakiola.calendula.ui.common.LocalMultiDayCount import de.jeanlucmakiola.calendula.ui.common.PickerDescription import de.jeanlucmakiola.calendula.ui.common.ViewPreviewFrame import de.jeanlucmakiola.calendula.ui.common.icon -import de.jeanlucmakiola.calendula.ui.common.labelRes -import de.jeanlucmakiola.calendula.ui.day.DayViewPreview +import de.jeanlucmakiola.calendula.ui.common.label import de.jeanlucmakiola.calendula.ui.month.MonthStylePreview import de.jeanlucmakiola.calendula.ui.month.MonthViewStyle import de.jeanlucmakiola.calendula.ui.month.descriptionRes @@ -67,14 +67,19 @@ internal fun ViewStep( height = PREVIEW_HEIGHT, ) CalendarView.Week -> WeekViewPreview(weekStart = weekStart, height = PREVIEW_HEIGHT) - CalendarView.Day -> DayViewPreview(height = PREVIEW_HEIGHT) + CalendarView.MultiDay -> WeekViewPreview( + weekStart = weekStart, + height = PREVIEW_HEIGHT, + dayCount = LocalMultiDayCount.current, + ) + CalendarView.Day -> WeekViewPreview(weekStart = weekStart, height = PREVIEW_HEIGHT, dayCount = 1) CalendarView.Agenda -> AgendaViewPreview(height = PREVIEW_HEIGHT) } } IMPLEMENTED_VIEWS.forEachIndexed { index, view -> val isSelected = view == choice.defaultView GroupedRow( - title = stringResource(view.labelRes), + title = view.label(), position = positionOf(index, IMPLEMENTED_VIEWS.size), selected = isSelected, leading = { diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/search/SearchScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/search/SearchScreen.kt index 2dde1ab..8453905 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/search/SearchScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/search/SearchScreen.kt @@ -126,6 +126,7 @@ fun SearchScreen( onBack: () -> Unit, onEventClick: (EventInstance) -> Unit, modifier: Modifier = Modifier, + visible: Boolean = true, viewModel: SearchViewModel = hiltViewModel(), ) { val query by viewModel.query.collectAsStateWithLifecycle() @@ -184,7 +185,7 @@ fun SearchScreen( BackHandler(enabled = inSelection) { viewModel.clearSelection() } Scaffold( - modifier = modifier.predictiveBack(onBack = onBack, enabled = !inSelection), + modifier = modifier.predictiveBack(onBack = onBack, enabled = !inSelection, visible = visible), containerColor = MaterialTheme.colorScheme.surface, topBar = { SearchTopBar( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/AppearanceSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/AppearanceSettings.kt index 40f1704..5774e5a 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/AppearanceSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/AppearanceSettings.kt @@ -76,6 +76,7 @@ internal fun AppearanceScreen( state: SettingsUiState, viewModel: SettingsViewModel, onBack: () -> Unit, + visible: Boolean = true, ) { var showTheme by remember { mutableStateOf(false) } var showBrandFont by remember { mutableStateOf(false) } @@ -96,6 +97,7 @@ internal fun AppearanceScreen( title = stringResource(R.string.settings_section_appearance), onBack = onBack, predictiveBack = true, + visible = visible, ) { // Theme & colour GroupedRow( diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/EventFormSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/EventFormSettings.kt index a9674aa..f7d0b39 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/EventFormSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/EventFormSettings.kt @@ -41,6 +41,7 @@ internal fun EventFormScreen( state: SettingsUiState, viewModel: SettingsViewModel, onBack: () -> Unit, + visible: Boolean = true, ) { var showDefaultDuration by remember { mutableStateOf(false) } // The calendar whose duration-override picker is open, if any. @@ -53,6 +54,7 @@ internal fun EventFormScreen( title = stringResource(R.string.settings_section_event_form), onBack = onBack, predictiveBack = true, + visible = visible, ) { SettingsHint(stringResource(R.string.settings_form_fields_hint)) Spacer(Modifier.height(8.dp)) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/NotificationSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/NotificationSettings.kt index cc77805..7fe559f 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/NotificationSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/NotificationSettings.kt @@ -63,6 +63,7 @@ internal fun NotificationsScreen( viewModel: SettingsViewModel, onBack: () -> Unit, onOpenSpecialDates: () -> Unit, + visible: Boolean = true, ) { val context = LocalContext.current val launcher = rememberLauncherForActivityResult( @@ -92,6 +93,7 @@ internal fun NotificationsScreen( title = stringResource(R.string.settings_section_notifications), onBack = onBack, predictiveBack = true, + visible = visible, ) { GroupedRow( title = stringResource(R.string.settings_reminders), diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt index eddae09..a24d9e3 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt @@ -2,9 +2,7 @@ package de.jeanlucmakiola.calendula.ui.settings import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn -import androidx.compose.animation.fadeOut import androidx.compose.animation.slideInHorizontally -import androidx.compose.animation.slideOutHorizontally import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -66,6 +64,7 @@ import de.jeanlucmakiola.floret.crash.CrashReportDialog import de.jeanlucmakiola.floret.crash.CrashReporter import de.jeanlucmakiola.floret.crash.openIssueTracker import de.jeanlucmakiola.floret.crash.submitCrashReport +import de.jeanlucmakiola.floret.identity.predictiveBackExit import de.jeanlucmakiola.floret.locale.AppLanguage /** The settings sub-screens reached from the hub's category rows. */ @@ -85,11 +84,14 @@ fun SettingsScreen( onManageCalendars: () -> Unit, onOpenBackup: () -> Unit, modifier: Modifier = Modifier, + visible: Boolean = true, viewModel: SettingsViewModel = hiltViewModel(), ) { val state by viewModel.state.collectAsStateWithLifecycle() var section by rememberSaveable { mutableStateOf(null) } val slideSpec = rememberCalendarSlideSpec() + // Leaves from the predictive-back preview rather than sliding off at full size. + val overlayExit = predictiveBackExit() Box( modifier = modifier @@ -101,61 +103,63 @@ fun SettingsScreen( onOpenSection = { section = it }, onManageCalendars = onManageCalendars, onOpenBackup = onOpenBackup, + visible = visible, ) AnimatedVisibility( visible = section == SettingsSection.Appearance, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - AppearanceScreen(state = state, viewModel = viewModel, onBack = { section = null }) + AppearanceScreen(state = state, viewModel = viewModel, onBack = { section = null }, visible = section == SettingsSection.Appearance) } AnimatedVisibility( visible = section == SettingsSection.Views, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - ViewsScreen(state = state, viewModel = viewModel, onBack = { section = null }) + ViewsScreen(state = state, viewModel = viewModel, onBack = { section = null }, visible = section == SettingsSection.Views) } AnimatedVisibility( visible = section == SettingsSection.EventForm, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - EventFormScreen(state = state, viewModel = viewModel, onBack = { section = null }) + EventFormScreen(state = state, viewModel = viewModel, onBack = { section = null }, visible = section == SettingsSection.EventForm) } AnimatedVisibility( visible = section == SettingsSection.Notifications, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { NotificationsScreen( state = state, viewModel = viewModel, onBack = { section = null }, onOpenSpecialDates = { section = SettingsSection.SpecialDates }, + visible = section == SettingsSection.Notifications, ) } AnimatedVisibility( visible = section == SettingsSection.SpecialDates, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - SpecialDatesScreen(viewModel = viewModel, onBack = { section = null }) + SpecialDatesScreen(viewModel = viewModel, onBack = { section = null }, visible = section == SettingsSection.SpecialDates) } AnimatedVisibility( visible = section == SettingsSection.Widgets, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - WidgetsScreen(state = state, viewModel = viewModel, onBack = { section = null }) + WidgetsScreen(state = state, viewModel = viewModel, onBack = { section = null }, visible = section == SettingsSection.Widgets) } AnimatedVisibility( visible = section == SettingsSection.Licences, enter = slideInHorizontally(slideSpec) { it } + fadeIn(), - exit = slideOutHorizontally(slideSpec) { it } + fadeOut(), + exit = overlayExit, ) { - LicencesScreen(onBack = { section = null }) + LicencesScreen(onBack = { section = null }, visible = section == SettingsSection.Licences) } } } @@ -170,8 +174,14 @@ private fun SettingsHub( onOpenSection: (SettingsSection) -> Unit, onManageCalendars: () -> Unit, onOpenBackup: () -> Unit, + visible: Boolean, ) { - CollapsingScaffold(title = stringResource(R.string.settings_title), onBack = onBack, predictiveBack = true) { + CollapsingScaffold( + title = stringResource(R.string.settings_title), + onBack = onBack, + predictiveBack = true, + visible = visible, + ) { // Card and support row are one grouped block, so the call to action // continues the container instead of sitting inside it as a button. Box(Modifier.padding(horizontal = GroupedListInset)) { AboutCard() } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsUiState.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsUiState.kt index d3f6f9d..16111c1 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsUiState.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsUiState.kt @@ -13,6 +13,7 @@ import de.jeanlucmakiola.calendula.ui.agenda.AgendaRange import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.QuickSwitchConfig +import de.jeanlucmakiola.calendula.ui.common.TimelineHours import de.jeanlucmakiola.calendula.ui.common.TimelineScale import de.jeanlucmakiola.calendula.ui.month.MonthViewStyle import de.jeanlucmakiola.calendula.widget.WidgetSize @@ -34,6 +35,8 @@ data class SettingsUiState( val timeFormat: TimeFormatPref = TimeFormatPref.AUTO, /** Whether the week/day timeline seats each hour in its own cell (v2.11). */ val showHourGrid: Boolean = false, + /** Days the multi-day view shows side by side (#193). */ + val multiDayCount: Int = SettingsPrefs.DEFAULT_MULTI_DAY_COUNT, /** How the Agenda screen treats events that already ended today. */ val pastEventDisplay: PastEventDisplay = PastEventDisplay.SHOW, /** Whether the month/week grids fade events that have already finished. */ @@ -62,6 +65,7 @@ data class SettingsUiState( val monthViewStyle: MonthViewStyle = MonthViewStyle.Paged, /** How tall an hour is drawn in the week and day timelines (#56). */ val timelineScale: TimelineScale = TimelineScale.Regular, + val timelineHours: TimelineHours = TimelineHours(), /** Order of the views in the navigation drawer (#24); every view is always listed. */ val drawerViewOrder: List = IMPLEMENTED_VIEWS, /** Optional event-form fields shown by default (rest behind "more fields"). */ diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsViewModel.kt index f6a0105..75ebca1 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsViewModel.kt @@ -36,6 +36,7 @@ import de.jeanlucmakiola.calendula.ui.agenda.AgendaRange import de.jeanlucmakiola.calendula.ui.agenda.storageValue import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.QuickSwitchConfig +import de.jeanlucmakiola.calendula.ui.common.TimelineHours import de.jeanlucmakiola.calendula.ui.common.TimelineScale import de.jeanlucmakiola.calendula.ui.month.MonthViewStyle import de.jeanlucmakiola.calendula.ui.theme.AppFontSettings @@ -148,11 +149,12 @@ class SettingsViewModel @Inject constructor( combine( prefs.todayButtonInToolbar, prefs.dragToReschedule, - ::Pair, + prefs.multiDayCount, + ::Triple, ), - ) { hourLines, weekNumbers, showToday, soften, (todayInToolbar, dragToMove) -> + ) { hourLines, weekNumbers, showToday, soften, (todayInToolbar, dragToMove, multiDay) -> DisplayToggles( - hourLines, weekNumbers, showToday, soften, todayInToolbar, dragToMove, + hourLines, weekNumbers, showToday, soften, todayInToolbar, dragToMove, multiDay, ) }, ) { view, screenRange, widgetRange, timeFormat, toggles -> @@ -164,6 +166,7 @@ class SettingsViewModel @Inject constructor( softenColors = toggles.softenColors, todayButtonInToolbar = toggles.todayButtonInToolbar, dragToReschedule = toggles.dragToReschedule, + multiDayCount = toggles.multiDayCount, ) }, combine( @@ -178,9 +181,11 @@ class SettingsViewModel @Inject constructor( prefs.drawerViewOrder, prefs.monthViewStyle, prefs.widgetSize, - prefs.timelineScale, - ) { quickSwitch, drawer, monthStyle, widgetSize, timelineScale -> - ViewCustomization(quickSwitch, drawer, monthStyle, widgetSize, timelineScale) + combine(prefs.timelineScale, prefs.timelineHours, ::Pair), + ) { quickSwitch, drawer, monthStyle, widgetSize, (timelineScale, timelineHours) -> + ViewCustomization( + quickSwitch, drawer, monthStyle, widgetSize, timelineScale, timelineHours, + ) }, ) { showRangeBar, autofocus, pastEvents, dimCompleted, viewCustomization -> MiscSettings(showRangeBar, autofocus, pastEvents, dimCompleted, viewCustomization) @@ -197,6 +202,7 @@ class SettingsViewModel @Inject constructor( softenColors = views.softenColors, todayButtonInToolbar = views.todayButtonInToolbar, dragToReschedule = views.dragToReschedule, + multiDayCount = views.multiDayCount, agendaShowRangeBar = misc.showRangeBar, autofocusEventTitle = misc.autofocusEventTitle, pastEventDisplay = misc.pastEventDisplay, @@ -206,6 +212,7 @@ class SettingsViewModel @Inject constructor( monthViewStyle = misc.viewCustomization.monthViewStyle, widgetSize = misc.viewCustomization.widgetSize, timelineScale = misc.viewCustomization.timelineScale, + timelineHours = misc.viewCustomization.timelineHours, allowColorOnUnsupportedCalendars = defaults.allowColor, defaultReminderMinutes = defaults.defaultReminder, defaultAllDayReminderMinutes = defaults.allDayReminder, @@ -298,6 +305,7 @@ class SettingsViewModel @Inject constructor( val softenColors: Boolean, val todayButtonInToolbar: Boolean, val dragToReschedule: Boolean, + val multiDayCount: Int, ) private data class DisplayToggles( @@ -307,6 +315,7 @@ class SettingsViewModel @Inject constructor( val softenColors: Boolean, val todayButtonInToolbar: Boolean, val dragToReschedule: Boolean, + val multiDayCount: Int, ) private data class MiscSettings( @@ -323,6 +332,7 @@ class SettingsViewModel @Inject constructor( val monthViewStyle: MonthViewStyle, val widgetSize: WidgetSize, val timelineScale: TimelineScale, + val timelineHours: TimelineHours, ) /** Contact special-dates sub-page (issue #15); its own flow — the main state is full. */ @@ -532,6 +542,10 @@ class SettingsViewModel @Inject constructor( viewModelScope.launch { prefs.setTimeFormat(pref) } } + fun setMultiDayCount(count: Int) { + viewModelScope.launch { prefs.setMultiDayCount(count) } + } + fun setShowHourGrid(enabled: Boolean) { viewModelScope.launch { prefs.setShowHourGrid(enabled) } } @@ -617,6 +631,10 @@ class SettingsViewModel @Inject constructor( viewModelScope.launch { prefs.setTimelineScale(scale) } } + fun setTimelineHours(hours: TimelineHours) { + viewModelScope.launch { prefs.setTimelineHours(hours) } + } + fun setDrawerViewOrder(order: List) { viewModelScope.launch { prefs.setDrawerViewOrder(order) } } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SpecialDatesSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SpecialDatesSettings.kt index 8933214..0e8559b 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SpecialDatesSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SpecialDatesSettings.kt @@ -46,6 +46,7 @@ import de.jeanlucmakiola.floret.reminders.ReminderOverride internal fun SpecialDatesScreen( viewModel: SettingsViewModel, onBack: () -> Unit, + visible: Boolean = true, ) { val state by viewModel.specialDatesState.collectAsStateWithLifecycle() val settings by viewModel.state.collectAsStateWithLifecycle() @@ -76,6 +77,7 @@ internal fun SpecialDatesScreen( title = stringResource(R.string.settings_section_special_dates), onBack = onBack, predictiveBack = true, + visible = visible, ) { // Paused banner: the permission was revoked after enabling. if (state.enabled && state.stalledPermission) { diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/ViewsSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/ViewsSettings.kt index a0c988f..22ccb1a 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/ViewsSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/ViewsSettings.kt @@ -21,10 +21,12 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import de.jeanlucmakiola.calendula.R import de.jeanlucmakiola.calendula.data.prefs.PastEventDisplay +import de.jeanlucmakiola.calendula.data.prefs.SettingsPrefs import de.jeanlucmakiola.calendula.data.prefs.TimeFormatPref import de.jeanlucmakiola.calendula.data.prefs.WeekStartPref import de.jeanlucmakiola.calendula.data.prefs.resolveFirstDay @@ -32,11 +34,15 @@ import de.jeanlucmakiola.calendula.ui.common.AgendaRangePicker import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.PickerDescription +import de.jeanlucmakiola.calendula.ui.common.LocalUse24HourFormat +import de.jeanlucmakiola.calendula.ui.common.TimelineHours import de.jeanlucmakiola.calendula.ui.common.TimelineScale import de.jeanlucmakiola.calendula.ui.common.agendaRangeLabel import de.jeanlucmakiola.calendula.ui.common.descriptionRes +import de.jeanlucmakiola.calendula.ui.common.formatMinuteOfDay import de.jeanlucmakiola.calendula.ui.common.formatTimeOfDay import de.jeanlucmakiola.calendula.ui.common.icon +import de.jeanlucmakiola.calendula.ui.common.label import de.jeanlucmakiola.calendula.ui.common.labelRes import de.jeanlucmakiola.calendula.ui.month.labelRes import de.jeanlucmakiola.floret.components.CollapsingScaffold @@ -62,6 +68,7 @@ internal fun ViewsScreen( state: SettingsUiState, viewModel: SettingsViewModel, onBack: () -> Unit, + visible: Boolean = true, ) { var showMonthStyle by remember { mutableStateOf(false) } var showDefaultView by remember { mutableStateOf(false) } @@ -70,11 +77,16 @@ internal fun ViewsScreen( var showPastEvents by remember { mutableStateOf(false) } var showAgendaScreenRange by remember { mutableStateOf(false) } var showTimelineScale by remember { mutableStateOf(false) } + var showMultiDayCount by remember { mutableStateOf(false) } + var showHoursStart by remember { mutableStateOf(false) } + var showHoursEnd by remember { mutableStateOf(false) } + val hours = state.timelineHours CollapsingScaffold( title = stringResource(R.string.settings_section_views), onBack = onBack, predictiveBack = true, + visible = visible, ) { val config = state.quickSwitchConfig @@ -82,7 +94,7 @@ internal fun ViewsScreen( SectionHeader(stringResource(R.string.settings_views_all_header)) GroupedRow( title = stringResource(R.string.settings_default_view), - summary = stringResource(state.defaultView.labelRes), + summary = state.defaultView.label(), position = Position.Top, onClick = { showDefaultView = true }, ) @@ -159,11 +171,56 @@ internal fun ViewsScreen( Spacer(Modifier.height(8.dp)) SectionHeader(stringResource(R.string.settings_week_day_header)) GroupedRow( - title = stringResource(R.string.settings_timeline_scale), - summary = stringResource(state.timelineScale.labelRes), + title = stringResource(R.string.settings_multi_day_count), + summary = multiDayLabel(state.multiDayCount), position = Position.Top, - onClick = { showTimelineScale = true }, + onClick = { showMultiDayCount = true }, ) + GroupedRow( + title = stringResource(R.string.settings_timeline_scale), + summary = if (hours.enabled) { + stringResource(R.string.settings_timeline_scale_by_visible_hours) + } else { + stringResource(state.timelineScale.labelRes) + }, + position = Position.Middle, + dimmed = hours.enabled, + onClick = if (hours.enabled) null else ({ showTimelineScale = true }), + ) + GroupedRow( + title = stringResource(R.string.settings_visible_hours), + summary = if (hours.enabled) { + stringResource( + R.string.settings_visible_hours_on_summary, + hourLabel(hours.startHour), + hourLabel(hours.endHour), + ) + } else { + stringResource(R.string.settings_visible_hours_summary) + }, + position = Position.Middle, + trailing = { + Switch( + checked = hours.enabled, + onCheckedChange = { viewModel.setTimelineHours(hours.copy(enabled = it)) }, + ) + }, + onClick = { viewModel.setTimelineHours(hours.copy(enabled = !hours.enabled)) }, + ) + if (hours.enabled) { + GroupedRow( + title = stringResource(R.string.settings_visible_hours_start), + summary = hourLabel(hours.startHour), + position = Position.Middle, + onClick = { showHoursStart = true }, + ) + GroupedRow( + title = stringResource(R.string.settings_visible_hours_end), + summary = hourLabel(hours.endHour), + position = Position.Middle, + onClick = { showHoursEnd = true }, + ) + } GroupedRow( title = stringResource(R.string.settings_hour_lines), summary = stringResource(R.string.settings_hour_lines_summary), @@ -275,7 +332,7 @@ internal fun ViewsScreen( predictiveBack = true, options = IMPLEMENTED_VIEWS, selected = state.defaultView, - label = { stringResource(it.labelRes) }, + label = { it.label() }, leading = { Icon( imageVector = it.icon, @@ -337,6 +394,18 @@ internal fun ViewsScreen( onDismiss = { showPastEvents = false }, ) } + if (showMultiDayCount) { + OptionPicker( + title = stringResource(R.string.settings_multi_day_count), + header = { PickerDescription(stringResource(R.string.settings_multi_day_count_hint)) }, + predictiveBack = true, + options = SettingsPrefs.MULTI_DAY_COUNTS.toList(), + selected = state.multiDayCount, + label = { multiDayLabel(it) }, + onSelect = viewModel::setMultiDayCount, + onDismiss = { showMultiDayCount = false }, + ) + } if (showTimelineScale) { OptionPicker( title = stringResource(R.string.settings_timeline_scale), @@ -356,6 +425,30 @@ internal fun ViewsScreen( onDismiss = { showTimelineScale = false }, ) } + if (showHoursStart) { + OptionPicker( + title = stringResource(R.string.settings_visible_hours_start), + header = { PickerDescription(stringResource(R.string.settings_visible_hours_start_hint)) }, + predictiveBack = true, + options = TimelineHours.startOptions(hours.endHour), + selected = hours.startHour, + label = { hourLabel(it) }, + onSelect = { viewModel.setTimelineHours(hours.copy(startHour = it)) }, + onDismiss = { showHoursStart = false }, + ) + } + if (showHoursEnd) { + OptionPicker( + title = stringResource(R.string.settings_visible_hours_end), + header = { PickerDescription(stringResource(R.string.settings_visible_hours_end_hint)) }, + predictiveBack = true, + options = TimelineHours.endOptions(hours.startHour), + selected = hours.endHour, + label = { hourLabel(it) }, + onSelect = { viewModel.setTimelineHours(hours.copy(endHour = it)) }, + onDismiss = { showHoursEnd = false }, + ) + } if (showAgendaScreenRange) { AgendaRangePicker( title = stringResource(R.string.settings_agenda_range), @@ -384,7 +477,7 @@ private fun ViewRow( trailing: @Composable (() -> Unit)? = null, ) { GroupedRow( - title = stringResource(view.labelRes), + title = view.label(), position = position, dimmed = dimmed, minHeight = ReorderableRowHeight, @@ -449,3 +542,12 @@ internal fun pastEventDisplayLabelRes(mode: PastEventDisplay): Int = when (mode) PastEventDisplay.DIM -> R.string.settings_past_events_dim PastEventDisplay.HIDE -> R.string.settings_past_events_hide } + +@Composable +private fun multiDayLabel(count: Int): String = + pluralStringResource(R.plurals.view_multi_day, count, count) + +/** A whole hour in the app's clock convention; 24 reads as the end of the day. */ +@Composable +private fun hourLabel(hour: Int): String = + formatMinuteOfDay(hour * 60, LocalUse24HourFormat.current, currentLocale()) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/WidgetSettings.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/WidgetSettings.kt index 8aa6e34..d8301cc 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/WidgetSettings.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/WidgetSettings.kt @@ -42,6 +42,7 @@ internal fun WidgetsScreen( state: SettingsUiState, viewModel: SettingsViewModel, onBack: () -> Unit, + visible: Boolean = true, ) { var showAgendaWidgetRange by remember { mutableStateOf(false) } var showWidgetSize by remember { mutableStateOf(false) } @@ -50,6 +51,7 @@ internal fun WidgetsScreen( title = stringResource(R.string.settings_section_widgets), onBack = onBack, predictiveBack = true, + visible = visible, ) { SettingsHint(stringResource(R.string.settings_widgets_hint)) Spacer(Modifier.height(8.dp)) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometry.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometry.kt new file mode 100644 index 0000000..42a0ed4 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometry.kt @@ -0,0 +1,169 @@ +package de.jeanlucmakiola.calendula.ui.week + +import androidx.compose.foundation.layout.Box +import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.Stable +import androidx.compose.runtime.key +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.Layout +import androidx.compose.ui.unit.Dp +import de.jeanlucmakiola.calendula.domain.EventInstance +import kotlinx.datetime.DateTimeUnit +import kotlinx.datetime.LocalDate +import kotlinx.datetime.daysUntil +import kotlinx.datetime.plus +import kotlin.math.roundToInt + +/** A day column's place across the timeline, in pixels from its start edge. */ +@Immutable +data class ColumnSlot(val left: Float, val width: Float) { + val right: Float get() = left + width +} + +/** + * [date]'s column on a page showing this span across [width] pixels, with [gap] + * between columns. A date off the page carries on at the same pitch, off screen + * on its side — where a view switch slides it in from, or out to. + */ +fun DaySpan.slot(date: LocalDate, width: Float, gap: Float): ColumnSlot { + val pitch = (width + gap) / count + return ColumnSlot(left = start.daysUntil(date) * pitch, width = pitch - gap) +} + +/** The last day of the span. */ +val DaySpan.end: LocalDate get() = start.plus(count - 1, DateTimeUnit.DAY) + +/** + * The timeline's columns: one page's, or — while switching between the day, the + * multi-day and the week view (#184) — every day of both pages, each column + * between where it sits in the one and where it sits in the other. + * + * @param progress how far from [from] to [to], read at layout time only. + */ +@Stable +class ColumnGeometry(val from: DaySpan, val to: DaySpan, val progress: () -> Float) { + + /** Every day either page shows, in order: the two overlap, so they run on unbroken. */ + val dates: List = run { + val first = minOf(from.start, to.start) + val last = maxOf(from.end, to.end) + (0..first.daysUntil(last)).map { first.plus(it, DateTimeUnit.DAY) } + } + + fun slot(date: LocalDate, width: Float, gap: Float): ColumnSlot { + val a = from.slot(date, width, gap) + if (from == to) return a + val b = to.slot(date, width, gap) + val p = progress() + return ColumnSlot(lerp(a.left, b.left, p), lerp(a.width, b.width, p)) + } + + /** The span of columns [range] covers, between its extent on each page. */ + fun extent(fromRange: ClosedRange, toRange: ClosedRange, width: Float, gap: Float): ColumnSlot { + val a = from.extent(fromRange, width, gap) + if (from == to && fromRange == toRange) return a + val b = to.extent(toRange, width, gap) + val p = progress() + val left = lerp(a.left, b.left, p) + return ColumnSlot(left, lerp(a.right, b.right, p) - left) + } + + companion object { + /** One page's columns, standing still. */ + fun of(span: DaySpan): ColumnGeometry = ColumnGeometry(span, span) { 0f } + } +} + +private fun DaySpan.extent(range: ClosedRange, width: Float, gap: Float): ColumnSlot { + val left = slot(range.start, width, gap).left + return ColumnSlot(left, slot(range.endInclusive, width, gap).right - left) +} + +internal fun lerp(a: Float, b: Float, p: Float): Float = a + (b - a) * p + +/** + * Lays [content] out once per day of [geometry], each across its column. The + * columns are placed in the layout pass, so a view switch moving them every + * frame re-lays them out without recomposing them. Children fill the height + * the layout is given, or wrap it when it has none. + */ +@Composable +fun TimelineColumns( + geometry: ColumnGeometry, + gap: Dp, + modifier: Modifier = Modifier, + content: @Composable (LocalDate) -> Unit, +) { + val dates = geometry.dates + Layout( + content = { + dates.forEach { date -> + key(date) { Box(propagateMinConstraints = true) { content(date) } } + } + }, + modifier = modifier, + ) { measurables, constraints -> + val width = constraints.maxWidth + val gapPx = gap.toPx() + val slots = dates.map { geometry.slot(it, width.toFloat(), gapPx) } + val placeables = measurables.mapIndexed { i, measurable -> + val left = slots[i].left.roundToInt() + val columnWidth = (slots[i].right.roundToInt() - left).coerceAtLeast(0) + measurable.measure(constraints.copy(minWidth = columnWidth, maxWidth = columnWidth)) + } + val height = placeables.maxOfOrNull { it.height }?.coerceAtLeast(constraints.minHeight) + ?: constraints.minHeight + layout(width, height) { + placeables.forEachIndexed { i, placeable -> + placeable.placeRelative(slots[i].left.roundToInt(), 0) + } + } + } +} + +/** + * An all-day bar as each page lays it out: the days it covers there, clipped to + * the page, and its lane. A bar only one page has keeps its days on the other, + * so it slides out with them rather than vanishing. + */ +@Immutable +data class PlacedBar( + val event: EventInstance, + /** The day the bar is drawn from on the page it is tagged on, for the view morph. */ + val keyDate: LocalDate, + val fromRange: ClosedRange, + val toRange: ClosedRange, + val fromLane: Int, + val toLane: Int, +) + +/** [state]'s all-day bars, standing still. */ +internal fun staticBars(state: WeekUiState.Success): List = + state.allDaySpans.map { span -> + val range = state.days[span.startCol]..state.days[span.endCol] + PlacedBar(span.event, range.start, range, range, span.lane, span.lane) + } + +/** + * The all-day bars of both pages of a view switch, each once: matched by + * occurrence, placed on each page as that page lays it out. + */ +internal fun morphBars(from: WeekUiState.Success?, to: WeekUiState.Success?): List { + val fromBars = from?.let(::staticBars).orEmpty().associateBy { it.event.occurrence() } + val toBars = to?.let(::staticBars).orEmpty().associateBy { it.event.occurrence() } + return (fromBars.keys + toBars.keys).map { occurrence -> + val a = fromBars[occurrence] + val b = toBars[occurrence] + PlacedBar( + event = (a ?: b)!!.event, + keyDate = (a ?: b)!!.keyDate, + fromRange = (a ?: b)!!.fromRange, + toRange = (b ?: a)!!.toRange, + fromLane = (a ?: b)!!.fromLane, + toLane = (b ?: a)!!.toLane, + ) + } +} + +private fun EventInstance.occurrence(): Pair = eventId to start.toEpochMilliseconds() diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/TimelineMorph.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/TimelineMorph.kt new file mode 100644 index 0000000..ae52767 --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/TimelineMorph.kt @@ -0,0 +1,32 @@ +package de.jeanlucmakiola.calendula.ui.week + +import androidx.compose.animation.core.Animatable +import androidx.compose.runtime.Stable +import kotlinx.coroutines.flow.StateFlow +import kotlinx.datetime.LocalDate + +/** + * A switch between two timeline views in progress (#184): the page on screen + * when it started, the page it ends on, and how far between the two it is. + */ +@Stable +internal class TimelineMorph( + val fromKind: TimelineKind, + val toKind: TimelineKind, + val from: DaySpan, + val to: DaySpan, + val fromState: StateFlow, + val toState: StateFlow, +) { + val progress = Animatable(0f) + + /** Whether the columns change size a lot, from a single day to a week or back, and take longer for it. */ + val isLong: Boolean get() = maxOf(from.count, to.count) > LONG_SWITCH_RATIO * minOf(from.count, to.count) + + /** Where each day's events come from: the page it was on, else the page it goes to. */ + fun sourceOf(date: LocalDate): Side = if (date in from.start..from.end) Side.From else Side.To + + enum class Side { From, To } +} + +private const val LONG_SWITCH_RATIO = 3 diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekPaging.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekPaging.kt new file mode 100644 index 0000000..e19ed1e --- /dev/null +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekPaging.kt @@ -0,0 +1,107 @@ +package de.jeanlucmakiola.calendula.ui.week + +import kotlinx.datetime.DateTimeUnit +import kotlinx.datetime.DayOfWeek +import kotlinx.datetime.LocalDate +import kotlinx.datetime.daysUntil +import kotlinx.datetime.plus + +/** Pages the week pager spans — a little under four centuries, centred on [PAGE_EPOCH]. */ +internal const val WEEK_PAGE_COUNT: Int = 20_000 + +private const val EPOCH_PAGE = WEEK_PAGE_COUNT / 2 + +/** The week at [EPOCH_PAGE]; any date works, it only has to stay fixed. */ +private val PAGE_EPOCH = LocalDate(2000, 1, 3) + +/** First day of the week shown on pager [page], with weeks starting on [firstDay]. */ +internal fun weekStartForPage(page: Int, firstDay: DayOfWeek): LocalDate = + PAGE_EPOCH.startOfWeek(firstDay).plus((page - EPOCH_PAGE) * 7, DateTimeUnit.DAY) + +/** The pager page whose week contains [date], with weeks starting on [firstDay]. */ +internal fun weekPageFor(date: LocalDate, firstDay: DayOfWeek): Int { + val days = PAGE_EPOCH.startOfWeek(firstDay).daysUntil(date.startOfWeek(firstDay)) + return (EPOCH_PAGE + days / 7).coerceIn(0, WEEK_PAGE_COUNT - 1) +} + +/** How a timeline pager cuts the calendar into pages of [dayCount] days. */ +sealed interface PageGrid { + val dayCount: Int + val pageCount: Int + + /** First day shown on pager [page]. */ + fun startForPage(page: Int): LocalDate + + /** The pager page showing [date]. */ + fun pageFor(date: LocalDate): Int +} + +/** Whole weeks, starting on [firstDay]. */ +data class WeekGrid(val firstDay: DayOfWeek) : PageGrid { + override val dayCount: Int get() = 7 + override val pageCount: Int get() = WEEK_PAGE_COUNT + override fun startForPage(page: Int): LocalDate = weekStartForPage(page, firstDay) + override fun pageFor(date: LocalDate): Int = weekPageFor(date, firstDay) +} + +/** Pages the multi-day pager spans — over three centuries at the widest page. */ +internal const val DAYS_PAGE_COUNT: Int = 40_000 + +private const val DAYS_EPOCH_PAGE = DAYS_PAGE_COUNT / 2 + +/** A fixed day the multi-day pages are counted from. */ +private val DAYS_EPOCH = LocalDate(2000, 1, 1) + +/** + * Runs of [dayCount] days (#193), offset [phase] days from a fixed epoch so any + * date can start a page. The phase stays put while paging and only changes when + * a jump moves another date to the first column. + */ +data class DaysGrid(override val dayCount: Int, val phase: Int) : PageGrid { + override val pageCount: Int get() = DAYS_PAGE_COUNT + + override fun startForPage(page: Int): LocalDate = + DAYS_EPOCH.plus(phase + (page - DAYS_EPOCH_PAGE) * dayCount, DateTimeUnit.DAY) + + override fun pageFor(date: LocalDate): Int = + (DAYS_EPOCH_PAGE + Math.floorDiv(DAYS_EPOCH.daysUntil(date) - phase, dayCount)) + .coerceIn(0, DAYS_PAGE_COUNT - 1) + + companion object { + /** The grid of [dayCount]-day pages on which [date] is a page's first day. */ + fun startingAt(date: LocalDate, dayCount: Int): DaysGrid = + DaysGrid(dayCount, Math.floorMod(DAYS_EPOCH.daysUntil(date), dayCount)) + } +} + +/** Pages the day pager spans — a little under four centuries, centred on [DAY_EPOCH]. */ +internal const val DAY_PAGE_COUNT: Int = 140_000 + +private const val DAY_EPOCH_PAGE = DAY_PAGE_COUNT / 2 + +/** The day at [DAY_EPOCH_PAGE]; any date works, it only has to stay fixed. */ +private val DAY_EPOCH = LocalDate(2000, 1, 1) + +/** Single days: every date starts a page of its own. */ +data object DayGrid : PageGrid { + override val dayCount: Int get() = 1 + override val pageCount: Int get() = DAY_PAGE_COUNT + + override fun startForPage(page: Int): LocalDate = + DAY_EPOCH.plus(page - DAY_EPOCH_PAGE, DateTimeUnit.DAY) + + override fun pageFor(date: LocalDate): Int = + (DAY_EPOCH_PAGE + DAY_EPOCH.daysUntil(date)).coerceIn(0, DAY_PAGE_COUNT - 1) +} + +/** + * Where the focused date goes when the pager settles on [page] (#184): kept if + * the page still shows it, otherwise moved by the pages travelled, so it keeps + * its place in the page — the same weekday a week on. + */ +internal fun PageGrid.focusOnPage(focus: LocalDate, page: Int): LocalDate { + val start = startForPage(page) + val end = start.plus(dayCount - 1, DateTimeUnit.DAY) + if (focus in start..end) return focus + return focus.plus((page - pageFor(focus)) * dayCount, DateTimeUnit.DAY).coerceIn(start, end) +} diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekScreen.kt index 1867c93..007fd06 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekScreen.kt @@ -1,12 +1,31 @@ package de.jeanlucmakiola.calendula.ui.week import androidx.compose.animation.AnimatedContent -import androidx.compose.animation.core.animateDpAsState +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.togetherWith +import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.PagerDefaults +import androidx.compose.foundation.pager.PagerState +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.setValue +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.mutableStateMapOf +import de.jeanlucmakiola.calendula.ui.common.PublishChrome +import de.jeanlucmakiola.calendula.ui.common.ScreenActions +import de.jeanlucmakiola.calendula.ui.common.ScreenBody +import de.jeanlucmakiola.calendula.ui.common.ScreenChrome +import de.jeanlucmakiola.calendula.ui.common.rememberCalendarPageSpec +import de.jeanlucmakiola.calendula.ui.common.rememberViewSwitchSpec +import de.jeanlucmakiola.calendula.ui.common.jumpToPage +import de.jeanlucmakiola.calendula.ui.common.pagedHeight +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.drop import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column @@ -25,40 +44,42 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Menu -import androidx.compose.material.icons.filled.Search import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults -import androidx.compose.material3.DrawerValue import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalNavigationDrawer -import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.rememberDrawerState import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.key -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.snapshotFlow -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment +import androidx.compose.ui.BiasAlignment import androidx.compose.ui.Modifier +import de.jeanlucmakiola.calendula.ui.common.LocalViewMorph +import de.jeanlucmakiola.calendula.ui.common.StayPut +import kotlinx.coroutines.withTimeoutOrNull +import kotlinx.coroutines.flow.first +import androidx.compose.runtime.withFrameNanos +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.SideEffect +import de.jeanlucmakiola.calendula.ui.common.laneSlot +import de.jeanlucmakiola.calendula.ui.common.LaneColumn +import kotlin.math.roundToInt +import androidx.compose.ui.unit.Constraints +import androidx.compose.ui.layout.Layout import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clipToBounds +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.layout.layout import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.layout.onGloballyPositioned @@ -69,6 +90,7 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.customActions import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp @@ -81,13 +103,8 @@ import de.jeanlucmakiola.calendula.ui.common.LocalChipGround import de.jeanlucmakiola.calendula.ui.common.eventPaint import de.jeanlucmakiola.calendula.ui.common.eventSurface import de.jeanlucmakiola.calendula.ui.common.formatCalendarTitle -import de.jeanlucmakiola.calendula.ui.common.CalendarDrawer -import de.jeanlucmakiola.calendula.ui.common.CalendarTitleButton -import de.jeanlucmakiola.calendula.ui.common.CalendarFabColumn -import de.jeanlucmakiola.calendula.ui.common.TodayAction import de.jeanlucmakiola.calendula.ui.common.CalendarFailure import de.jeanlucmakiola.calendula.ui.common.CalendarView -import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.EventDimAlpha import de.jeanlucmakiola.calendula.ui.common.BLOCK_OUTER_INSET import de.jeanlucmakiola.calendula.ui.common.BLOCK_TEXT_PADDING @@ -95,6 +112,7 @@ import de.jeanlucmakiola.calendula.ui.common.BlockTimeLabel import de.jeanlucmakiola.calendula.ui.common.BlockTitle import de.jeanlucmakiola.calendula.ui.common.blockTextLines import de.jeanlucmakiola.calendula.ui.common.blockTimeLines +import de.jeanlucmakiola.calendula.ui.common.rememberBlockTimeRange import de.jeanlucmakiola.calendula.ui.common.rememberBlockTextMetrics import de.jeanlucmakiola.calendula.ui.common.animatedBlockPlacement import de.jeanlucmakiola.calendula.ui.common.ghostAlpha @@ -120,11 +138,19 @@ import de.jeanlucmakiola.calendula.ui.common.LocalDimCutoff import de.jeanlucmakiola.calendula.ui.common.EventChipShape import de.jeanlucmakiola.calendula.ui.common.trimmedLines import de.jeanlucmakiola.calendula.ui.common.NowLine +import de.jeanlucmakiola.calendula.ui.common.OutOfViewEdgeBars +import de.jeanlucmakiola.calendula.ui.common.rememberOutOfViewEdges import de.jeanlucmakiola.calendula.ui.common.rememberCurrentMinute -import de.jeanlucmakiola.calendula.ui.common.ViewSwitcherPill -import de.jeanlucmakiola.calendula.ui.common.calendarSlideTransition +import de.jeanlucmakiola.calendula.ui.common.EnterOnFocus +import de.jeanlucmakiola.calendula.ui.common.LocalViewFocus import de.jeanlucmakiola.calendula.ui.common.rememberCalendarFadeSpec -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarPageSwipe +import de.jeanlucmakiola.calendula.ui.common.ViewMorphKey +import de.jeanlucmakiola.calendula.ui.common.ViewMorphPage +import de.jeanlucmakiola.calendula.ui.common.morphDay +import de.jeanlucmakiola.calendula.ui.common.morphEvent +import de.jeanlucmakiola.calendula.ui.common.rememberTimelineScrollState +import de.jeanlucmakiola.calendula.ui.common.LocalOpeningTimeline +import de.jeanlucmakiola.calendula.ui.common.morphPageActive import de.jeanlucmakiola.calendula.ui.common.withTitleWeight import de.jeanlucmakiola.floret.identity.rememberReduceMotion import de.jeanlucmakiola.floret.locale.currentLocale @@ -142,17 +168,13 @@ import de.jeanlucmakiola.calendula.ui.common.TIMELINE_CONTENT_END_INSET import de.jeanlucmakiola.calendula.ui.common.hourCellBlockInset import de.jeanlucmakiola.calendula.ui.common.hourGridCells import de.jeanlucmakiola.calendula.ui.common.tappedMinuteOfDay -import de.jeanlucmakiola.calendula.ui.common.rememberCalendarSlideSpec -import de.jeanlucmakiola.calendula.ui.common.next import de.jeanlucmakiola.floret.time.isoWeekNumber -import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.datetime.LocalDate import kotlinx.datetime.TimeZone import kotlinx.datetime.plus import kotlinx.datetime.toJavaLocalDate import kotlinx.datetime.toLocalDateTime -import kotlin.time.Clock import java.time.format.TextStyle as JavaTextStyle import java.util.Locale @@ -162,6 +184,26 @@ private val ALL_DAY_VERTICAL_PADDING = 6.dp /** Gap between day columns; part of the column pitch a drag maps positions through. */ private val COLUMN_GAP = 2.dp +/** Breathing room between the header block and the scrolling timeline below. */ +private val TIMELINE_TOP_GAP = 8.dp +private val HEADER_TOP_PADDING = 4.dp +private val HEADER_BOTTOM_PADDING = 8.dp + +/** The header's date slot, reserved whether or not it holds today's circle. */ +private val DATE_SLOT_SIZE = 28.dp + +/** A start-aligned header cell's inset, lining its date up with the event titles below. */ +private val HEADER_START_INSET = BLOCK_OUTER_INSET + BLOCK_TEXT_PADDING + +/** The weekday header's height, which the day view takes off to fit the week's hours (#184). */ +@Composable +internal fun weekDayHeaderHeight(): Dp { + val label = MaterialTheme.typography.labelSmall + val line = label.lineHeight.takeIf { it.isSp } ?: label.fontSize + return HEADER_TOP_PADDING + with(LocalDensity.current) { line.toDp() } + 2.dp + + DATE_SLOT_SIZE + HEADER_BOTTOM_PADDING +} + /** Total all-day strip height for a week (0 when there are no all-day events). */ internal fun WeekUiState.Success.allDayStripHeight(): Dp { if (allDaySpans.isEmpty()) return 0.dp @@ -169,25 +211,119 @@ internal fun WeekUiState.Success.allDayStripHeight(): Dp { return ALL_DAY_ROW_HEIGHT * lanes + ALL_DAY_VERTICAL_PADDING * 2 } -@OptIn(ExperimentalMaterial3Api::class) +/** + * The day, multi-day (#193) and week views: one timeline whose columns resize + * in place when switching between them (#184), rather than three screens. + */ @Composable -fun WeekScreen( - selectedView: CalendarView, - onSelectView: (CalendarView) -> Unit, +fun TimelineScreen( + view: CalendarView, onOpenDay: (LocalDate) -> Unit, onEventClick: (EventInstance) -> Unit, - onOpenSettings: () -> Unit, - onOpenSearch: () -> Unit, onCreateEvent: (LocalDate, Int?) -> Unit, - quickSwitchViews: List = IMPLEMENTED_VIEWS, - drawerViewOrder: List = IMPLEMENTED_VIEWS, - todayInToolbar: Boolean = false, modifier: Modifier = Modifier, - viewModel: WeekViewModel = hiltViewModel(), + weekViewModel: WeekViewModel = hiltViewModel(), + multiDayViewModel: MultiDayViewModel = hiltViewModel(), + dayViewModel: DayViewModel = hiltViewModel(), ) { - val state by viewModel.state.collectAsStateWithLifecycle() - val weekStart by viewModel.weekStartDate.collectAsStateWithLifecycle() - val dimCompleted by viewModel.dimCompletedEvents.collectAsStateWithLifecycle() + val viewModels = remember(weekViewModel, multiDayViewModel, dayViewModel) { + TimelineViewModels(weekViewModel, multiDayViewModel, dayViewModel) + } + PagedTimelineScreen( + view = view, + viewModels = viewModels, + onOpenDay = onOpenDay, + onEventClick = onEventClick, + onCreateEvent = onCreateEvent, + modifier = modifier, + ) +} + +/** Each timeline view's own pages and anchor, held side by side so a switch can show both. */ +internal class TimelineViewModels( + private val week: WeekViewModel, + private val multiDay: MultiDayViewModel, + private val day: DayViewModel, +) { + operator fun get(view: CalendarView): PagedTimelineViewModel = when (view) { + CalendarView.MultiDay -> multiDay + CalendarView.Day -> day + else -> week + } +} + +/** What sets the timeline views apart; everything else they share. */ +internal enum class TimelineKind( + val showWeekNumber: Boolean, + val todayText: Int, + /** Where a header cell sits in its column: centred, or at the start like the event titles. */ + val headerBias: Float, +) { + Week(showWeekNumber = true, todayText = R.string.week_today_action, headerBias = 0f), + + // A run of days often straddles two weeks, so no single number fits it. + MultiDay(showWeekNumber = false, todayText = R.string.week_today_action, headerBias = 0f), + Day(showWeekNumber = false, todayText = R.string.day_today_action, headerBias = -1f), + ; + + fun title(start: LocalDate, end: LocalDate, locale: Locale, currentYear: Int, abbreviated: Boolean): String = + if (this == Day) { + formatDayTitle(start, locale, currentYear, abbreviated) + } else { + formatWeekTitle(start, end, locale, currentYear, abbreviated) + } +} + +internal val CalendarView.timelineKind: TimelineKind + get() = when (this) { + CalendarView.MultiDay -> TimelineKind.MultiDay + CalendarView.Day -> TimelineKind.Day + else -> TimelineKind.Week + } + +/** How long a switch waits for the view it goes to before resizing into it without its events. */ +private const val MORPH_DATA_WAIT_MS = 150L + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +private fun PagedTimelineScreen( + view: CalendarView, + viewModels: TimelineViewModels, + onOpenDay: (LocalDate) -> Unit, + onEventClick: (EventInstance) -> Unit, + onCreateEvent: (LocalDate, Int?) -> Unit, + modifier: Modifier, +) { + // The view on screen, which trails [view] while the columns resize into it. + var shown by remember { mutableStateOf(view) } + var morph by remember { mutableStateOf(null) } + // The strip height a switch ended on, for the pager it hands over to. + var handoffStrip by remember { mutableStateOf(null) } + val viewModel = viewModels[shown] + val kind = shown.timelineKind + + // Opens on the focused date, then carries it along as the pages move. + val focus = LocalViewFocus.current + val navigationVersion = focus?.navigationVersion ?: 0 + var handledNavigation by remember { mutableIntStateOf(navigationVersion) } + EnterOnFocus(viewModel) { viewModel.jumpTo(it) } + // Keyed on the view model: collected unkeyed, a switch would read the view + // before's anchor and grid for a frame and open its pager. + val loadedState by key(viewModel) { viewModel.state.collectAsStateWithLifecycle() } + // A view not shown before has nothing loaded yet; the one before it stands + // in, as its pages load their own days anyway, rather than a skeleton. + var lastState by remember { mutableStateOf(WeekUiState.Loading) } + val state = if (loadedState is WeekUiState.Loading) lastState else loadedState + SideEffect { if (loadedState !is WeekUiState.Loading) lastState = loadedState } + LaunchedEffect(shown, loadedState) { + if (loadedState is WeekUiState.Success) handoffStrip = null + } + val anchor by key(viewModel) { viewModel.anchor.collectAsStateWithLifecycle() } + val rule by key(viewModel) { viewModel.rule.collectAsStateWithLifecycle() } + val position = remember(anchor, rule) { positionOf(anchor, rule) } + val grid = position.grid + val anchorPage = position.page + val dimCompleted by key(viewModel) { viewModel.dimCompletedEvents.collectAsStateWithLifecycle() } // The instant before which an event counts as completed, or null when dimming // is off. derivedStateOf keeps the per-minute "now" from recomposing the // screen while the setting is off (it stays null regardless of the tick). @@ -196,113 +332,149 @@ fun WeekScreen( derivedStateOf { if (dimCompleted) nowState.value else null } } - val drawerState = rememberDrawerState(DrawerValue.Closed) val scope = rememberCoroutineScope() - val isOnCurrentWeek = when (val s = state) { - // True when today falls inside the displayed week — independent of which - // weekday the user picked as the first day. - is WeekUiState.Success -> - s.today >= s.weekStart && s.today <= s.weekStart.plus(6, kotlinx.datetime.DateTimeUnit.DAY) - else -> true + // A new grid numbers the pages differently, so it gets a pager of its own, + // opened straight on the anchor's page: another view, the first day of the + // week changing, or a multi-day jump moving another date into the first column. + val pagerState = key(viewModel, grid) { + rememberPagerState(initialPage = anchorPage) { grid.pageCount } } - - // Drives whether the title carries the year. Falls back to the clock only - // while the first load is in flight, when there is no state to read today from. - val currentYear = when (val s = state) { - is WeekUiState.Success -> s.today.year - else -> Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date.year - } - - // Slide direction for the week transition: +1 = next, -1 = prev, 0 = jump. - var slideDir by remember { mutableIntStateOf(0) } - val goNext = { slideDir = 1; viewModel.goToNext() } - val goPrev = { slideDir = -1; viewModel.goToPrev() } - // Slide toward today: viewing the future → today comes in from the left - // (back), viewing the past → from the right (forward). - val jumpToToday = { - slideDir = when (val s = state) { - is WeekUiState.Success -> if (s.today < s.weekStart) -1 else 1 - else -> 0 + val pageSpec = rememberCalendarPageSpec() + val switchSpec = rememberViewSwitchSpec() + val longSwitchSpec = rememberViewSwitchSpec(long = true) + val reduceMotion = rememberReduceMotion() + // The pager leads and the anchor follows once it settles, so this only + // catches the anchor moving on its own. Snapped, since that is a correction + // rather than a move. + LaunchedEffect(pagerState, anchorPage) { + if (pagerState.currentPage != anchorPage && !pagerState.isScrollInProgress) { + pagerState.scrollToPage(anchorPage) } - viewModel.goToToday() } - // Drawer jump-to-date: slide from the side the target week lies on. - val jumpToDate: (LocalDate) -> Unit = { target -> - slideDir = if (target < weekStart) -1 else 1 - viewModel.goToDate(target) + // The page it opened on is skipped: a grid change landing in between would + // read it as a different page. + LaunchedEffect(pagerState) { + snapshotFlow { pagerState.settledPage }.drop(1).collect { page -> + viewModel.onPageSettled(page) + focus?.let { it.date = grid.focusOnPage(it.date, page) } + } } - ModalNavigationDrawer( - drawerState = drawerState, - // Open only via the menu button — edge-swipe would fight the week swipe. - gesturesEnabled = drawerState.isOpen, - drawerContent = { - CalendarDrawer( - currentView = selectedView, - currentDate = weekStart, - drawerState = drawerState, - viewOrder = drawerViewOrder, - onSelectView = { view -> - onSelectView(view) - scope.launch { drawerState.close() } - }, - onJumpToDate = { target -> - jumpToDate(target) - scope.launch { drawerState.close() } - }, - onSettings = { - onOpenSettings() - scope.launch { drawerState.close() } - }, + // Switching to another timeline view resizes the columns into it (#184): + // from the page on screen to the target view's page around the focused + // date, then hands over to that view's pager at the page the resize ended on. + val currentShown by rememberUpdatedState(shown) + val currentPager by rememberUpdatedState(pagerState) + val currentGrid by rememberUpdatedState(grid) + val currentState by rememberUpdatedState(state) + LaunchedEffect(view, navigationVersion) { + if (navigationVersion != handledNavigation) { + handledNavigation = navigationVersion + morph = null + handoffStrip = null + viewModels[view].jumpTo(focus?.date ?: return@LaunchedEffect) + shown = view + return@LaunchedEffect + } + // A switch interrupted by another lands first, and this one starts from there. + snapshotFlow { morph }.first { it == null } + withFrameNanos { } + if (view == currentShown) return@LaunchedEffect + val from = currentShown + val fromGrid = currentGrid + val fromSpan = DaySpan(fromGrid.startForPage(currentPager.currentPage), fromGrid.dayCount) + val target = (focus?.date ?: fromSpan.start).coerceIn(fromSpan.start, fromSpan.end) + focus?.date = target + val toModel = viewModels[view] + toModel.jumpTo(target) + val to = positionOf(target, toModel.rule.value) + val toSpan = DaySpan(to.grid.startForPage(to.page), to.grid.dayCount) + val fromLoaded = viewModels[from].span(fromSpan) + val toLoaded = toModel.span(toSpan) + if (reduceMotion || currentState !is WeekUiState.Success) { + shown = view + return@LaunchedEffect + } + val switch = TimelineMorph(from.timelineKind, view.timelineKind, fromSpan, toSpan, fromLoaded, toLoaded) + try { + withTimeoutOrNull(MORPH_DATA_WAIT_MS) { toLoaded.first { it !is WeekUiState.Loading } } + morph = switch + switch.progress.animateTo(1f, if (switch.isLong) longSwitchSpec else switchSpec) + handoffStrip = (toLoaded.value as? WeekUiState.Success)?.allDayStripHeight() + shown = view + } finally { + morph = null + } + } + + // The page under the finger, so the title turns over mid-swipe, not after + // it; mid-switch, the page being switched to. + val weekStart = morph?.to?.start ?: grid.startForPage(pagerState.currentPage) + val titleKind = morph?.toKind ?: kind + val dayCount = morph?.to?.count ?: grid.dayCount + val weekEnd = weekStart.plus(dayCount - 1, kotlinx.datetime.DateTimeUnit.DAY) + + // Off the ticking clock rather than the loaded page, so it turns over at + // midnight; derived, so the per-minute tick doesn't recompose the screen. + val zone = remember { TimeZone.currentSystemDefault() } + val today by remember(zone) { derivedStateOf { nowState.value.toLocalDateTime(zone).date } } + val isOnCurrentWeek = state !is WeekUiState.Success || (today >= weekStart && today <= weekEnd) + + // Straight to the pager: a tap mid-fling must still land, and the anchor + // hasn't caught up with the fling yet to tell the difference. A date that + // would open mid-page on this grid re-frames the pages around it instead. + val jumpToDate: (LocalDate) -> Unit = { target -> + focus?.date = target + val page = grid.pageFor(target) + if (grid is DaysGrid && grid.startForPage(page) != target) { + viewModel.jumpTo(target) + } else { + scope.launch { pagerState.jumpToPage(page, reduceMotion, pageSpec) } + } + } + val jumpToToday = { jumpToDate(today) } + + val locale = currentLocale() + val (title, shortTitle) = remember(titleKind, weekStart, weekEnd, locale, today.year) { + titleKind.title(weekStart, weekEnd, locale, today.year, abbreviated = false) to + titleKind.title(weekStart, weekEnd, locale, today.year, abbreviated = true) + } + PublishChrome( + ScreenChrome( + title = title, + shortTitle = shortTitle, + titleDate = weekStart, + drawerDate = weekStart, + awayFromToday = !isOnCurrentWeek, + todayText = stringResource(titleKind.todayText), + ), + ScreenActions( + onToday = jumpToToday, + onJumpToDate = jumpToDate, + // Anchor on today when it's in view, else the page's first day. + onCreate = { onCreateEvent(if (isOnCurrentWeek) today else weekStart, null) }, + ), + ) + + ScreenBody(modifier = modifier) { innerPadding -> + CompositionLocalProvider(LocalDimCutoff provides dimCutoff) { + WeekContent( + state = state, + pagerState = pagerState, + grid = grid, + kind = kind, + morph = morph, + handoffStrip = handoffStrip, + span = viewModel::span, + onRetry = viewModel::goToToday, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = { d, minutes -> onCreateEvent(d, minutes) }, + modifier = Modifier + .padding(innerPadding) + .fillMaxSize(), ) - }, - ) { - Scaffold( - modifier = modifier, - topBar = { - WeekTopBar( - weekStart = weekStart, - currentYear = currentYear, - selectedView = selectedView, - onCycleView = { onSelectView(selectedView.next(quickSwitchViews)) }, - quickSwitchViews = quickSwitchViews, - onOpenDrawer = { scope.launch { drawerState.open() } }, - onOpenSearch = onOpenSearch, - onJumpToDate = jumpToDate, - showTodayButton = todayInToolbar, - onToday = jumpToToday, - ) - }, - floatingActionButton = { - CalendarFabColumn( - todayVisible = !isOnCurrentWeek && !todayInToolbar, - todayText = stringResource(R.string.week_today_action), - onToday = jumpToToday, - onCreate = { - // Anchor on today when it's in view, else the week's first day. - val today = Clock.System.now() - .toLocalDateTime(TimeZone.currentSystemDefault()).date - onCreateEvent(if (isOnCurrentWeek) today else weekStart, null) - }, - ) - }, - ) { innerPadding -> - CompositionLocalProvider(LocalDimCutoff provides dimCutoff) { - WeekContent( - state = state, - slideDir = slideDir, - onSwipeNext = goNext, - onSwipePrev = goPrev, - onRetry = jumpToToday, - onEventClick = onEventClick, - onOpenDay = onOpenDay, - onCreateAt = { d, minutes -> onCreateEvent(d, minutes) }, - modifier = Modifier - .padding(innerPadding) - .fillMaxSize(), - ) - } } } } @@ -310,97 +482,327 @@ fun WeekScreen( @Composable private fun WeekContent( state: WeekUiState, - slideDir: Int, - onSwipeNext: () -> Unit, - onSwipePrev: () -> Unit, + pagerState: PagerState, + grid: PageGrid, + kind: TimelineKind, + morph: TimelineMorph?, + handoffStrip: Dp?, + span: (DaySpan) -> StateFlow, onRetry: () -> Unit, onEventClick: (EventInstance) -> Unit, onOpenDay: (LocalDate) -> Unit, onCreateAt: (LocalDate, Int) -> Unit, modifier: Modifier = Modifier, ) { - val slideSpec = rememberCalendarSlideSpec() val fadeSpec = rememberCalendarFadeSpec() - val reduceMotion = rememberReduceMotion() - // Hoisted above the per-week AnimatedContent so the vertical scroll position - // survives week-to-week swipes (e.g. 18:00 stays centred). We only centre on - // noon once, on first entry into the week view (i.e. when arriving from the - // month/day view), not on every swipe. - val scrollState = rememberScrollState() - LaunchedEffect(Unit) { - snapshotFlow { scrollState.maxValue }.first { it > 0 } - // Half the scroll range *is* noon: the content spans a full 24 hours, so - // centring the range centres midday at whatever hour height is in force. - scrollState.scrollTo(scrollState.maxValue / 2) - } + // Shared by every page and the gutter, so the vertical scroll position + // survives week-to-week swipes (e.g. 18:00 stays centred), and carried over + // from the timeline view before this one. + val stripHeight = (state as? WeekUiState.Success)?.allDayStripHeight() ?: 0.dp + val timelineScroll = rememberTimelineScrollState(weekDayHeaderHeight() + stripHeight + TIMELINE_TOP_GAP) + val scrollState = timelineScroll.state - // Single, hoisted all-day strip height — shared by the outgoing and incoming - // week during a swipe, so the strip slides along but never jumps in height; - // it just springs smoothly from the old to the new size. - val targetAllDayHeight = (state as? WeekUiState.Success)?.allDayStripHeight() ?: 0.dp - val allDayHeight by animateDpAsState( - targetValue = targetAllDayHeight, - label = "all-day-strip-height", - ) - - // Whole-page horizontal swipe. It sits one level above the timeline's - // vertical scroll: a horizontal drag only crosses *this* detector's slop, - // while a vertical drag is consumed by the inner scroll first — so the two - // gestures coexist without fighting. - val swipeModifier = rememberCalendarPageSwipe(onSwipeNext, onSwipePrev) - - // Above the AnimatedContent: a page change mid-drag would strand the - // floating block inside the outgoing page. + // Above the pager: a page change mid-drag would strand the floating block + // inside the outgoing page. val dragController = rememberTimelineDragController() val move = LocalEventMove.current val zone = remember { TimeZone.currentSystemDefault() } + val onDrop: (TimelineDrop) -> Unit = { drop -> + move?.move( + MoveRequest( + eventId = drop.event.eventId, + beginMillis = drop.event.start.toEpochMilliseconds(), + endMillis = drop.event.end.toEpochMilliseconds(), + target = MoveTarget.Start(drop.startInstant(zone)), + ), + ) + } Box(modifier = modifier) { - AnimatedContent( - targetState = state, - modifier = Modifier.fillMaxSize().then(swipeModifier), - contentKey = { s -> + CompositionLocalProvider(LocalOpeningTimeline provides timelineScroll) { + // Loading and failure concern the provider as a whole, so they stand in + // for the pager; a page still loading its own week handles that itself. + AnimatedContent( + targetState = state, + modifier = Modifier.fillMaxSize(), + contentKey = { it::class }, + transitionSpec = { fadeIn(fadeSpec).togetherWith(fadeOut(fadeSpec)) }, + label = "week-state", + ) { s -> when (s) { - is WeekUiState.Success -> "success-${s.weekStart}" - is WeekUiState.Failure -> "failure-${s.reason}" - WeekUiState.Loading -> "loading" - } - }, - transitionSpec = { calendarSlideTransition(slideDir, slideSpec, fadeSpec, reduceMotion) }, - label = "week-transition", - ) { s -> - when (s) { - WeekUiState.Loading -> WeekLoading() - is WeekUiState.Failure -> CalendarFailure(reason = s.reason, onRetry = onRetry) - is WeekUiState.Success -> WeekSuccess( - state = s, - scrollState = scrollState, - allDayHeight = allDayHeight, - dragController = dragController, - onEventClick = onEventClick, - onOpenDay = onOpenDay, - onCreateAt = onCreateAt, - onDrop = { drop -> - move?.move( - MoveRequest( - eventId = drop.event.eventId, - beginMillis = drop.event.start.toEpochMilliseconds(), - endMillis = drop.event.end.toEpochMilliseconds(), - target = MoveTarget.Start(drop.startInstant(zone)), - ), + WeekUiState.Loading -> WeekLoading(dayCount = grid.dayCount) + is WeekUiState.Failure -> CalendarFailure(reason = s.reason, onRetry = onRetry) + is WeekUiState.Success -> if (morph != null) { + TimelineMorphFrame( + morph = morph, + today = s.today, + scrollState = scrollState, + dragController = dragController, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, ) - }, - ) + } else WeekPager( + pagerState = pagerState, + grid = grid, + kind = kind, + span = span, + today = s.today, + initialStripHeight = handoffStrip ?: s.allDayStripHeight(), + scrollState = scrollState, + dragController = dragController, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, + ) + } } } TimelineDragOverlay(dragController) } } +/** + * The weeks as pages that follow the finger and snap once a swipe passes half a + * page or is flung (#131), beside a gutter that stays put. + */ +@Composable +private fun WeekPager( + pagerState: PagerState, + grid: PageGrid, + kind: TimelineKind, + span: (DaySpan) -> StateFlow, + today: LocalDate, + initialStripHeight: Dp, + scrollState: ScrollState, + dragController: TimelineDragController, + onEventClick: (EventInstance) -> Unit, + onOpenDay: (LocalDate) -> Unit, + onCreateAt: (LocalDate, Int) -> Unit, + onDrop: (TimelineDrop) -> Unit, +) { + val stripHeights = remember { mutableStateMapOf() } + val allDayHeight = pagedHeight(pagerState, stripHeights, initialStripHeight) + WeekFrame( + weekStart = grid.startForPage(pagerState.currentPage), + showWeekNumber = kind.showWeekNumber, + allDayHeight = allDayHeight, + scrollState = scrollState, + dragController = dragController, + ) { + HorizontalPager( + state = pagerState, + modifier = Modifier.fillMaxSize(), + // The weeks either side are composed ahead, so a swipe lands on a + // loaded week rather than watching it fill in. + beyondViewportPageCount = 1, + // A held block moves within its week; the page stays put under it. + userScrollEnabled = !dragController.isDragging, + flingBehavior = PagerDefaults.flingBehavior( + state = pagerState, + snapAnimationSpec = rememberCalendarPageSpec(), + ), + ) { page -> + val pageSpan = DaySpan(grid.startForPage(page), grid.dayCount) + val pageState by remember(pageSpan) { span(pageSpan) }.collectAsStateWithLifecycle() + val loaded = pageState as? WeekUiState.Success + // Until its days arrive a page shows their frame without events. + val empty = remember(pageSpan, today) { emptySpan(pageSpan, today) } + val stripHeight = loaded?.allDayStripHeight() + DisposableEffect(page, stripHeight) { + if (stripHeight != null) stripHeights[page] = stripHeight + onDispose { stripHeights.remove(page) } + } + ViewMorphPage(active = morphPageActive(page, pagerState.settledPage)) { + WeekPage( + state = loaded ?: empty, + headerBias = kind.headerBias, + allDayHeight = allDayHeight, + scrollState = scrollState, + dragController = dragController, + active = page == pagerState.currentPage, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, + ) + } + } + } +} + +/** A page with no events yet, for one whose days are still loading. */ +private fun emptySpan(span: DaySpan, today: LocalDate): WeekUiState.Success { + val days = (0 until span.count).map { span.start.plus(it, kotlinx.datetime.DateTimeUnit.DAY) } + return WeekUiState.Success( + weekStart = span.start, + today = today, + days = days, + allDaySpans = emptyList(), + timedByDay = emptyMap(), + ) +} + +/** + * The timeline mid-switch between two views (#184): every day of both pages, + * each column between its place on the one and on the other, with no pager + * under them. It starts and ends exactly as the two pages lay out, so the + * pagers either side hand over without a jump. + */ +@Composable +private fun TimelineMorphFrame( + morph: TimelineMorph, + today: LocalDate, + scrollState: ScrollState, + dragController: TimelineDragController, + onEventClick: (EventInstance) -> Unit, + onOpenDay: (LocalDate) -> Unit, + onCreateAt: (LocalDate, Int) -> Unit, + onDrop: (TimelineDrop) -> Unit, +) { + val fromState by morph.fromState.collectAsStateWithLifecycle() + val toState by morph.toState.collectAsStateWithLifecycle() + val from = fromState as? WeekUiState.Success + val to = toState as? WeekUiState.Success + val geometry = remember(morph) { ColumnGeometry(morph.from, morph.to) { morph.progress.value } } + val bars = remember(from, to) { morphBars(from, to) } + val timedFor: (LocalDate) -> List = remember(morph, from, to) { + { date -> + val side = if (morph.sourceOf(date) == TimelineMorph.Side.From) from else to + side?.timedByDay?.get(date).orEmpty() + } + } + val fromStrip = from?.allDayStripHeight() ?: 0.dp + val toStrip = to?.allDayStripHeight() ?: fromStrip + val animatedStrip = remember(morph, fromStrip, toStrip) { + { androidx.compose.ui.unit.lerp(fromStrip, toStrip, morph.progress.value.coerceIn(0f, 1f)) } + } + val fromBadge = if (morph.fromKind.showWeekNumber) 1f else 0f + val toBadge = if (morph.toKind.showWeekNumber) 1f else 0f + val badgeAlpha = remember(morph) { + { lerp(fromBadge, toBadge, morph.progress.value).coerceIn(0f, 1f) } + } + // The header changes its alignment once; its columns and bars move in layout. + val headerBias by remember(morph) { + derivedStateOf { + if (morph.progress.value < 0.5f) morph.fromKind.headerBias else morph.toKind.headerBias + } + } + // The events travel inside the columns here, not between views. + CompositionLocalProvider(LocalViewMorph provides null) { + WeekFrame( + weekStart = if (morph.toKind.showWeekNumber) morph.to.start else morph.from.start, + showWeekNumber = morph.fromKind.showWeekNumber || morph.toKind.showWeekNumber, + allDayHeight = fromStrip, + animatedAllDayHeight = animatedStrip, + weekNumberAlpha = badgeAlpha, + scrollState = scrollState, + dragController = dragController, + ) { + TimelinePageContent( + geometry = geometry, + today = today, + timedFor = timedFor, + bars = bars, + headerBias = headerBias, + allDayHeight = fromStrip, + animatedAllDayHeight = animatedStrip, + scrollState = scrollState, + dragController = dragController, + active = false, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, + ) + } + } +} + +/** Read an animated strip height during measurement, without composing its contents again. */ +private fun Modifier.dynamicHeight(height: () -> Dp): Modifier = layout { measurable, constraints -> + val pixels = height().roundToPx().coerceIn(constraints.minHeight, constraints.maxHeight) + val placeable = measurable.measure(constraints.copy(minHeight = pixels, maxHeight = pixels)) + layout(placeable.width, pixels) { placeable.place(0, 0) } +} + +/** Keep a morph's expensive viewport content measured at one size while its visible edge moves. */ +private fun Modifier.stableMorphViewport(stripHeight: () -> Dp, fullHeight: IntArray): Modifier = + clipToBounds().layout { measurable, constraints -> + if (fullHeight[0] < 0) fullHeight[0] = constraints.maxHeight + stripHeight().roundToPx() + val measured = measurable.measure( + constraints.copy(minHeight = fullHeight[0], maxHeight = fullHeight[0]), + ) + layout(constraints.maxWidth, constraints.maxHeight) { measured.place(0, 0) } + } + +/** + * What stays put while the weeks swipe: the week-number badge and the hour + * gutter, with [pages] filling the rest. + */ +@Composable +private fun WeekFrame( + weekStart: LocalDate, + showWeekNumber: Boolean, + allDayHeight: Dp, + animatedAllDayHeight: (() -> Dp)? = null, + weekNumberAlpha: () -> Float = { 1f }, + scrollState: ScrollState, + dragController: TimelineDragController, + pages: @Composable () -> Unit, +) { + val gutterFullHeight = remember(animatedAllDayHeight) { intArrayOf(-1) } + Row(modifier = Modifier.fillMaxSize()) { + Column(modifier = Modifier.width(GUTTER_WIDTH).fillMaxHeight()) { + Column( + modifier = Modifier + .fillMaxWidth() + .background(MaterialTheme.colorScheme.surface), + ) { + WeekNumberCell( + weekStart = weekStart, + showBadge = showWeekNumber, + modifier = if (animatedAllDayHeight == null) Modifier + else Modifier.graphicsLayer { alpha = weekNumberAlpha() }, + ) + Spacer(if (animatedAllDayHeight == null) Modifier.height(allDayHeight) + else Modifier.dynamicHeight(animatedAllDayHeight)) + } + Spacer(Modifier.height(TIMELINE_TOP_GAP)) + // Resolves the hour height off the same viewport height the pages' + // timelines have, so labels and columns agree. + BoxWithConstraints( + modifier = Modifier.fillMaxSize().then( + if (animatedAllDayHeight == null) Modifier + else Modifier.stableMorphViewport(animatedAllDayHeight, gutterFullHeight), + ), + ) { + val zoom = LocalTimelineZoom.current + val fitHeight = if (animatedAllDayHeight == null) maxHeight + allDayHeight + else maxHeight + val hourHeight = zoom.scale.hourHeight(fitHeight) + HourGutter( + scrollState = scrollState, + hourHeight = hourHeight, + dragController = dragController, + modifier = rememberTimelinePinchZoom(scrollState, fitHeight, hourHeight, zoom), + ) + } + } + // Clipped, as the pager was: a view switch slides columns in past its edges. + Box(modifier = Modifier.weight(1f).fillMaxHeight().clipToBounds()) { pages() } + } +} + +/** A single week in its frame, without the pager — for the Settings preview. */ @Composable internal fun WeekSuccess( state: WeekUiState.Success, + showWeekNumber: Boolean = true, + headerBias: Float = 0f, scrollState: ScrollState, allDayHeight: Dp, dragController: TimelineDragController, @@ -408,6 +810,89 @@ internal fun WeekSuccess( onOpenDay: (LocalDate) -> Unit, onCreateAt: (LocalDate, Int) -> Unit, onDrop: (TimelineDrop) -> Unit, +) { + WeekFrame( + weekStart = state.weekStart, + showWeekNumber = showWeekNumber, + allDayHeight = allDayHeight, + scrollState = scrollState, + dragController = dragController, + ) { + WeekPage( + state = state, + headerBias = headerBias, + allDayHeight = allDayHeight, + scrollState = scrollState, + dragController = dragController, + active = true, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, + ) + } +} + +/** + * One week's page: header, all-day strip and day columns. + * + * @param active whether this is the page on screen, the only one that may + * publish the drag geometry. + */ +@Composable +private fun WeekPage( + state: WeekUiState.Success, + headerBias: Float, + allDayHeight: Dp, + scrollState: ScrollState, + dragController: TimelineDragController, + active: Boolean, + onEventClick: (EventInstance) -> Unit, + onOpenDay: (LocalDate) -> Unit, + onCreateAt: (LocalDate, Int) -> Unit, + onDrop: (TimelineDrop) -> Unit, +) { + val geometry = remember(state.weekStart, state.days.size) { + ColumnGeometry.of(DaySpan(state.weekStart, state.days.size)) + } + val bars = remember(state) { staticBars(state) } + TimelinePageContent( + geometry = geometry, + today = state.today, + timedFor = { state.timedByDay[it].orEmpty() }, + bars = bars, + headerBias = headerBias, + allDayHeight = allDayHeight, + scrollState = scrollState, + dragController = dragController, + active = active, + onEventClick = onEventClick, + onOpenDay = onOpenDay, + onCreateAt = onCreateAt, + onDrop = onDrop, + ) +} + +/** + * A page's header, all-day strip and day columns, laid out over [geometry]: a + * single page's, or both pages' of a view switch mid-way (#184). + */ +@Composable +private fun TimelinePageContent( + geometry: ColumnGeometry, + today: LocalDate, + timedFor: (LocalDate) -> List, + bars: List, + headerBias: Float, + allDayHeight: Dp, + animatedAllDayHeight: (() -> Dp)? = null, + scrollState: ScrollState, + dragController: TimelineDragController, + active: Boolean, + onEventClick: (EventInstance) -> Unit, + onOpenDay: (LocalDate) -> Unit, + onCreateAt: (LocalDate, Int) -> Unit, + onDrop: (TimelineDrop) -> Unit, ) { Column(modifier = Modifier.fillMaxSize()) { Column( @@ -415,22 +900,26 @@ internal fun WeekSuccess( .fillMaxWidth() .background(MaterialTheme.colorScheme.surface), ) { - WeekDayHeader(days = state.days, today = state.today, onOpenDay = onOpenDay) + WeekDayHeader(geometry = geometry, today = today, bias = headerBias, onOpenDay = onOpenDay) // This strip is painted on `surface`, so an outlined chip has to // fill with that and not with the columns' container (#230). CompositionLocalProvider( LocalChipGround provides MaterialTheme.colorScheme.surface, ) { - AllDayStrip(state = state, height = allDayHeight, onEventClick = onEventClick) + AllDayStrip(geometry = geometry, bars = bars, height = allDayHeight, + animatedHeight = animatedAllDayHeight, onEventClick = onEventClick) } } - // Breathing room between the top section and the scrolling timeline - // below. - Spacer(Modifier.height(8.dp)) + Spacer(Modifier.height(TIMELINE_TOP_GAP)) Timeline( - state = state, + geometry = geometry, + today = today, + timedFor = timedFor, + allDayHeight = allDayHeight, + animatedAllDayHeight = animatedAllDayHeight, scrollState = scrollState, dragController = dragController, + active = active, onEventClick = onEventClick, onCreateAt = onCreateAt, onDrop = onDrop, @@ -438,140 +927,99 @@ internal fun WeekSuccess( } } -@OptIn(ExperimentalMaterial3Api::class) -@Composable -private fun WeekTopBar( - weekStart: LocalDate, - currentYear: Int, - selectedView: CalendarView, - onCycleView: () -> Unit, - quickSwitchViews: List, - onOpenDrawer: () -> Unit, - onOpenSearch: () -> Unit, - onJumpToDate: (LocalDate) -> Unit, - showTodayButton: Boolean, - onToday: () -> Unit, -) { - val locale = currentLocale() - val (title, shortTitle) = remember(weekStart, locale, currentYear) { - formatWeekTitle(weekStart, locale, currentYear) to - formatWeekTitle(weekStart, locale, currentYear, abbreviated = true) - } - TopAppBar( - title = { - CalendarTitleButton( - title = title, - currentDate = weekStart, - onJumpToDate = onJumpToDate, - shortTitle = shortTitle, - ) - }, - navigationIcon = { - IconButton(onClick = onOpenDrawer) { - Icon( - imageVector = Icons.Default.Menu, - contentDescription = stringResource(R.string.month_open_menu), - ) - } - }, - actions = { - TodayAction(show = showTodayButton, onToday = onToday) - IconButton(onClick = onOpenSearch) { - Icon( - imageVector = Icons.Default.Search, - contentDescription = stringResource(R.string.search_action), - ) - } - ViewSwitcherPill( - current = selectedView, - cycle = quickSwitchViews, - onCycle = onCycleView, - ) - }, - // Deliberately flat: M3 lifts the bar to mark content scrolling under - // it, but here the bar meets the header on the same surface and the - // tint is what makes that seam look like a separate block (#186). - colors = TopAppBarDefaults.topAppBarColors( - containerColor = MaterialTheme.colorScheme.surface, - scrolledContainerColor = MaterialTheme.colorScheme.surface, - ), - ) -} - @Composable private fun WeekDayHeader( - days: List, + geometry: ColumnGeometry, today: LocalDate, + bias: Float, onOpenDay: (LocalDate) -> Unit, ) { val locale = currentLocale() - val weekStart = days.first() - val weekNumber = remember(weekStart) { weekStart.toJavaLocalDate().isoWeekNumber() } - Row( + TimelineColumns( + geometry = geometry, + gap = 0.dp, modifier = Modifier .fillMaxWidth() - .padding(top = 4.dp, bottom = 8.dp, end = TIMELINE_CONTENT_END_INSET), - ) { - // Mirror the day-column layout (empty weekday line + spacer) so the - // badge lines up vertically with the date numbers. The start inset centres - // the badge on the top bar's hamburger (see GUTTER_CONTENT_START_INSET). + .padding(top = HEADER_TOP_PADDING, bottom = HEADER_BOTTOM_PADDING, end = TIMELINE_CONTENT_END_INSET), + ) { date -> + val javaDow = java.time.DayOfWeek.of(date.dayOfWeek.ordinal + 1) + val isToday = date == today Column( - modifier = Modifier.width(GUTTER_WIDTH).padding(start = GUTTER_CONTENT_START_INSET), - horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .clip(RoundedCornerShape(12.dp)) + .clickable { onOpenDay(date) } + .padding(start = HEADER_START_INSET * -bias), + horizontalAlignment = BiasAlignment.Horizontal(bias), ) { - Text(text = " ", style = MaterialTheme.typography.labelSmall) + // One line, as the gutter cell beside it assumes (see WeekNumberCell). + Text( + text = javaDow.getDisplayName(JavaTextStyle.SHORT, locale), + style = MaterialTheme.typography.labelSmall, + maxLines = 1, + overflow = TextOverflow.Clip, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) Spacer(Modifier.height(2.dp)) - WeekNumberBadge(weekNumber = weekNumber) - } - days.forEach { date -> - val javaDow = java.time.DayOfWeek.of(date.dayOfWeek.ordinal + 1) - val isToday = date == today - Column( - modifier = Modifier - .weight(1f) - .clip(RoundedCornerShape(12.dp)) - .clickable { onOpenDay(date) }, - horizontalAlignment = Alignment.CenterHorizontally, + // Always reserve the circle slot so the header height is + // identical whether or not the week contains today. + Box( + modifier = Modifier.size(DATE_SLOT_SIZE), + contentAlignment = Alignment.Center, ) { - Text( - text = javaDow.getDisplayName(JavaTextStyle.SHORT, locale), - style = MaterialTheme.typography.labelSmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - Spacer(Modifier.height(2.dp)) - // Always reserve the 28dp circle slot so the header height is - // identical whether or not the week contains today. - Box( - modifier = Modifier.size(28.dp), - contentAlignment = Alignment.Center, - ) { - if (isToday) { - Surface( - shape = CircleShape, - color = MaterialTheme.colorScheme.primaryContainer, - contentColor = MaterialTheme.colorScheme.onPrimaryContainer, - modifier = Modifier.fillMaxSize(), - ) { - Box(contentAlignment = Alignment.Center) { - Text( - text = date.day.toString(), - style = MaterialTheme.typography.titleSmall, - fontWeight = FontWeight.SemiBold, - ) - } + if (isToday) { + Surface( + shape = CircleShape, + color = MaterialTheme.colorScheme.primaryContainer, + contentColor = MaterialTheme.colorScheme.onPrimaryContainer, + modifier = Modifier.morphDay(date).fillMaxSize(), + ) { + Box(contentAlignment = Alignment.Center) { + Text( + text = date.day.toString(), + style = MaterialTheme.typography.titleSmall, + fontWeight = FontWeight.SemiBold, + ) } - } else { - Text( - text = date.day.toString(), - style = MaterialTheme.typography.bodyMedium, - ) } + } else { + Text( + text = date.day.toString(), + style = MaterialTheme.typography.bodyMedium, + modifier = Modifier.morphDay(date), + ) } } } } } +/** + * The header's gutter cell, laid out like a day's (empty weekday line, spacer, + * date slot) so the badge lines up with the date numbers and the cell is exactly + * as tall as the header beside it. The start inset centres the badge on the top + * bar's hamburger (see GUTTER_CONTENT_START_INSET). + */ +@Composable +private fun WeekNumberCell(weekStart: LocalDate, showBadge: Boolean, modifier: Modifier = Modifier) { + val weekNumber = remember(weekStart) { weekStart.toJavaLocalDate().isoWeekNumber() } + Column( + modifier = modifier + .fillMaxWidth() + .padding( + start = GUTTER_CONTENT_START_INSET, + top = HEADER_TOP_PADDING, + bottom = HEADER_BOTTOM_PADDING, + ), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Text(text = " ", style = MaterialTheme.typography.labelSmall) + Spacer(Modifier.height(2.dp)) + Box(modifier = Modifier.height(DATE_SLOT_SIZE), contentAlignment = Alignment.TopCenter) { + if (showBadge) WeekNumberBadge(weekNumber = weekNumber) + } + } +} + /** Calendar-week badge shown in the header gutter, deliberately set apart with a * filled box and bold number — at the month grid's size, so the two agree (#213). */ @Composable @@ -594,8 +1042,10 @@ private fun WeekNumberBadge(weekNumber: Int, modifier: Modifier = Modifier) { @Composable private fun AllDayStrip( - state: WeekUiState.Success, + geometry: ColumnGeometry, + bars: List, height: Dp, + animatedHeight: (() -> Dp)? = null, onEventClick: (EventInstance) -> Unit, ) { val dark = isSystemInDarkTheme() @@ -605,40 +1055,49 @@ private fun AllDayStrip( .fillMaxWidth() // Height is hoisted + animated so it slides and resizes smoothly; // padding sits inside it so the content area is lanes * row height. - .height(height) + .then(if (animatedHeight == null) Modifier.height(height) else Modifier.dynamicHeight(animatedHeight)) .padding( top = ALL_DAY_VERTICAL_PADDING, bottom = ALL_DAY_VERTICAL_PADDING, end = TIMELINE_CONTENT_END_INSET, ), ) { - // Keep the gutter-width offset so the bars line up with the day columns. - Spacer(Modifier.width(GUTTER_WIDTH)) // Span bars are positioned absolutely so a multi-day event is one // connected bar across columns rather than a chip per day. clipToBounds // keeps bars from spilling out while the height animates. - BoxWithConstraints( + Layout( + content = { + bars.forEach { bar -> + key(bar.event.eventId, bar.event.start) { + AllDayBar( + event = bar.event, + dark = dark, + onClick = { onEventClick(bar.event) }, + modifier = Modifier + .morphEvent(ViewMorphKey.event(bar.event, bar.keyDate)) + .padding(horizontal = 1.dp, vertical = 1.dp), + ) + } + } + }, modifier = Modifier .weight(1f) .fillMaxHeight() .clipToBounds(), - ) { - val colWidth = maxWidth / 7 - state.allDaySpans.forEach { span -> - val spanCols = span.endCol - span.startCol + 1 - AllDayBar( - event = span.event, - dark = dark, - onClick = { onEventClick(span.event) }, - modifier = Modifier - .offset( - x = colWidth * span.startCol, - y = ALL_DAY_ROW_HEIGHT * span.lane, - ) - .width(colWidth * spanCols) - .height(ALL_DAY_ROW_HEIGHT) - .padding(horizontal = 1.dp, vertical = 1.dp), - ) + ) { measurables, constraints -> + val width = constraints.maxWidth.toFloat() + val rowPx = ALL_DAY_ROW_HEIGHT.toPx() + val progress = geometry.progress() + val placed = measurables.mapIndexed { i, measurable -> + val bar = bars[i] + val extent = geometry.extent(bar.fromRange, bar.toRange, width, 0f) + val left = extent.left.roundToInt() + val barWidth = (extent.right.roundToInt() - left).coerceAtLeast(0) + val y = (lerp(bar.fromLane.toFloat(), bar.toLane.toFloat(), progress) * rowPx).roundToInt() + Triple(measurable.measure(Constraints.fixed(barWidth, rowPx.roundToInt())), left, y) + } + layout(constraints.maxWidth, constraints.maxHeight) { + placed.forEach { (placeable, x, y) -> placeable.placeRelative(x, y) } } } } @@ -679,13 +1138,19 @@ private fun AllDayBar( @Composable private fun Timeline( - state: WeekUiState.Success, + geometry: ColumnGeometry, + today: LocalDate, + timedFor: (LocalDate) -> List, + allDayHeight: Dp, + animatedAllDayHeight: (() -> Dp)? = null, scrollState: ScrollState, dragController: TimelineDragController, + active: Boolean, onEventClick: (EventInstance) -> Unit, onCreateAt: (LocalDate, Int) -> Unit, onDrop: (TimelineDrop) -> Unit, ) { + val fullViewportHeight = remember(geometry) { intArrayOf(-1) } val dark = isSystemInDarkTheme() val zoom = LocalTimelineZoom.current val density = LocalDensity.current @@ -699,75 +1164,91 @@ private fun Timeline( // BoxWithConstraints rather than Box: the fit-the-whole-day scale needs the // timeline's own viewport height, which is only known here — below the top - // bar, day header and all-day strip. - BoxWithConstraints(modifier = Modifier.fillMaxSize()) { - val hourHeight = zoom.scale.hourHeight(maxHeight) + // bar, day header and all-day strip. The strip is given back, so the scale + // holds while paging and matches the day view's (#184). + BoxWithConstraints( + modifier = Modifier.fillMaxSize().then( + if (animatedAllDayHeight == null) Modifier + else Modifier.stableMorphViewport(animatedAllDayHeight, fullViewportHeight), + ), + ) { + val fitHeight = if (animatedAllDayHeight == null) maxHeight + allDayHeight else maxHeight + val hourHeight = zoom.scale.hourHeight(fitHeight) val totalHeight = hourHeight * 24 - // The pinch sits on the Row, above both scroll viewports: it has to - // outrank the vertical scroll, and it does that by watching the initial - // pass, which only reaches it if it is their ancestor. - val pinch = rememberTimelinePinchZoom(scrollState, maxHeight, hourHeight, zoom) - // Gutter and day columns are two scroll viewports that SHARE one scroll - // state, so they stay perfectly aligned. The day-column viewport is a - // static, rounded-clipped window — the content scrolls inside it, so the - // soft corners are permanent at any scroll position (not just at the - // day's start/end). - Row(modifier = Modifier.fillMaxSize().then(pinch)) { - // Hour gutter (scrolls in sync with the day columns). Same start inset - // as the header badge so the labels sit under it and on the hamburger. - HourGutter( - scrollState = scrollState, - hourHeight = hourHeight, - dragController = dragController, - ) - // Day columns: rounded, clipped scroll viewport (permanent corners). - Box( + // The pinch sits above the scroll viewport: it has to outrank the + // vertical scroll, and it does that by watching the initial pass, which + // only reaches it if it is the viewport's ancestor. + val pinch = rememberTimelinePinchZoom(scrollState, fitHeight, hourHeight, zoom) + // What a block's text is fitted to: the column it will end up in once a + // view switch is past half way, so it reflows once rather than per frame. + val textColumns by remember(geometry) { + derivedStateOf { if (geometry.progress() >= 0.5f) geometry.to.count else geometry.from.count } + } + val columnWidth = (maxWidth - TIMELINE_CONTENT_END_INSET + COLUMN_GAP) / textColumns - COLUMN_GAP + // What the scroll shows, known before it is laid out: a view switch + // picks what travels on its first frame. + val opening = LocalOpeningTimeline.current + val viewportPx = with(density) { maxHeight.toPx() } + val visibleViewport: () -> Float = remember(animatedAllDayHeight, viewportPx, density) { + { viewportPx - (animatedAllDayHeight?.let { with(density) { it().toPx() } } ?: 0f) } + } + val contentPx = with(density) { totalHeight.toPx() } + val visibleTop: () -> Float = remember(opening, scrollState, visibleViewport, contentPx) { + { opening?.top(visibleViewport(), contentPx) ?: scrollState.value.toFloat() } + } + // Scrolls on the same state as the gutter and the other pages, so they + // all stay aligned. A static, rounded-clipped window — the content + // scrolls inside it, so the soft corners are permanent at any scroll + // position (not just at the day's start/end). + Box( + modifier = Modifier + .fillMaxSize() + .then(pinch) + .padding(end = TIMELINE_CONTENT_END_INSET) + .clip(RoundedCornerShape(16.dp)) + .verticalScroll(scrollState) + .onGloballyPositioned { if (active) dragController.geometry.viewport = it }, + ) { + TimelineColumns( + geometry = geometry, + gap = COLUMN_GAP, modifier = Modifier - .weight(1f) - .fillMaxHeight() - .padding(end = TIMELINE_CONTENT_END_INSET) - .clip(RoundedCornerShape(16.dp)) - .verticalScroll(scrollState) - .onGloballyPositioned { dragController.geometry.viewport = it }, - ) { - Row( - modifier = Modifier - .fillMaxWidth() - .height(totalHeight) - // The scrolling content itself, so its root position - // already folds in the scroll offset. - .onGloballyPositioned { coords -> - val gap = with(density) { COLUMN_GAP.toPx() } - dragController.geometry.let { - it.grid = coords - it.scroll = scrollState - it.hourPx = with(density) { hourHeight.toPx() } - it.blockInsetPx = blockInsetPx - it.columnGapPx = gap - it.columnWidthPx = (coords.size.width + gap) / state.days.size - it.days = state.days - it.isRtl = isRtl - } - }, - horizontalArrangement = Arrangement.spacedBy(COLUMN_GAP), - ) { - state.days.forEach { day -> - DayColumnCard( - blocks = state.timedByDay[day].orEmpty(), - dark = dark, - date = day, - today = state.today, - hourHeight = hourHeight, - dragController = dragController, - onEventClick = onEventClick, - onCreateAt = onCreateAt, - onDrop = onDrop, - modifier = Modifier - .weight(1f) - .fillMaxHeight(), - ) - } - } + .fillMaxWidth() + .height(totalHeight) + // The scrolling content itself, so its root position + // already folds in the scroll offset. Only the page on + // screen publishes it: the ones either side are laid out too. + .onGloballyPositioned { coords -> + if (!active) return@onGloballyPositioned + val gap = with(density) { COLUMN_GAP.toPx() } + dragController.geometry.let { + it.grid = coords + it.scroll = scrollState + it.hourPx = with(density) { hourHeight.toPx() } + it.blockInsetPx = blockInsetPx + it.columnGapPx = gap + it.columnWidthPx = (coords.size.width + gap) / geometry.to.count + it.days = geometry.dates + it.isRtl = isRtl + } + }, + ) { day -> + DayColumnCard( + blocks = timedFor(day), + dark = dark, + date = day, + today = today, + hourHeight = hourHeight, + columnWidth = columnWidth, + visibleTop = visibleTop, + viewportHeight = visibleViewport, + dragController = dragController, + onEventClick = onEventClick, + onCreateAt = onCreateAt, + onDrop = onDrop, + scrollState = scrollState, + modifier = Modifier.fillMaxHeight(), + ) } } } @@ -780,13 +1261,19 @@ private fun DayColumnCard( date: LocalDate, today: LocalDate, hourHeight: Dp, + columnWidth: Dp, + visibleTop: () -> Float, + viewportHeight: () -> Float, dragController: TimelineDragController, onEventClick: (EventInstance) -> Unit, onCreateAt: (LocalDate, Int) -> Unit, onDrop: (TimelineDrop) -> Unit, + scrollState: ScrollState, modifier: Modifier = Modifier, ) { - val hourPx = with(LocalDensity.current) { hourHeight.toPx() } + val density = LocalDensity.current + val hourPx = with(density) { hourHeight.toPx() } + val morphing = LocalViewMorph.current != null val showHourGrid = LocalShowHourGrid.current val zone = remember { TimeZone.currentSystemDefault() } // Tells a settled drop when this column has caught up with it. @@ -799,6 +1286,8 @@ private fun DayColumnCard( // them, or taps land on the scale the column had before the zoom (#148). val currentHourPx = rememberUpdatedState(hourPx) val currentOnCreateAt = rememberUpdatedState(onCreateAt) + val edges = rememberOutOfViewEdges(blocks, scrollState, hourPx) + val currentEdges = rememberUpdatedState(edges) Card( // Plain rectangular columns — the soft corners come from the outer // rounded scroll viewport, so inner rounding would look odd at the edges. @@ -816,7 +1305,8 @@ private fun DayColumnCard( ), modifier = modifier, ) { - BoxWithConstraints( + Box(Modifier.fillMaxSize()) { + LaneColumn( modifier = Modifier .fillMaxSize() // The hour cells sit over the column background but under the @@ -826,6 +1316,7 @@ private fun DayColumnCard( // blocks are consumed by their own handler first. Snaps to hour. .pointerInput(date) { detectTapGestures { offset -> + if (currentEdges.value.tap(offset.y)) return@detectTapGestures currentOnCreateAt.value( date, tappedMinuteOfDay(offset.y, currentHourPx.value), @@ -833,7 +1324,6 @@ private fun DayColumnCard( } }, ) { - val colWidth = maxWidth val minEventHeight = hourHeight * MIN_EVENT_FRACTION // Keyed by event, so a block that changes time or lane is the *same* // composable afterwards and tweens there. The ordinal disambiguates @@ -842,14 +1332,13 @@ private fun DayColumnCard( blocks.forEach { block -> val ordinal = ordinals.merge(block.event.eventId, 1, Int::plus)!! - 1 key(block.event.eventId, ordinal) { - val laneWidth = colWidth / block.laneCount val top = hourHeight * (block.startMin / 60f) val rawHeight = hourHeight * ((block.endMin - block.startMin) / 60f) val height = if (rawHeight < minEventHeight) minEventHeight else rawHeight val place = animatedBlockPlacement( - x = laneWidth * block.lane, + xFraction = block.lane.toFloat() / block.laneCount, + widthFraction = 1f / block.laneCount, y = top, - width = laneWidth, height = height, ) // Where this block is cut at midnight, which decides both @@ -864,11 +1353,22 @@ private fun DayColumnCard( val bottomInset = hourCellBlockInset(showHourGrid, cuts.bottom) val blockHeight = (place.height - topInset - bottomInset) .coerceAtLeast(0.dp) + // Only a block wholly on screen travels in a view switch: the + // rest would cross the header on their way. They fade with + // their screen, and the other view leaves them be too. + val travels = morphing && rememberInViewport( + visibleTop = visibleTop, + viewportHeight = viewportHeight, + top = with(density) { (top + topInset).toPx() }, + bottom = with(density) { (top + height - bottomInset).toPx() }, + ) + val morphKey = ViewMorphKey.event(block.event, date) + StayPut(morphKey, stays = morphing && !travels) EventBlock( block = block, dark = dark, height = blockHeight, - width = place.width, + width = columnWidth / block.laneCount, date = date, cuts = cuts, topInset = topInset, @@ -876,8 +1376,9 @@ private fun DayColumnCard( onClick = { onEventClick(block.event) }, onDrop = onDrop, modifier = Modifier - .offset(x = place.x, y = place.y + topInset) - .width(place.width) + .laneSlot(place) + .offset(y = place.y + topInset) + .then(if (travels) Modifier.morphEvent(morphKey) else Modifier) .height(blockHeight) .padding(horizontal = BLOCK_OUTER_INSET), ) @@ -888,9 +1389,24 @@ private fun DayColumnCard( NowLine(date = date, hourHeight = hourHeight) } } + OutOfViewEdgeBars( + edges = edges, + scrollState = scrollState, + dark = dark, + ) + } } } +/** Whether [top]..[bottom], in pixels down the scrolled content, lies wholly in its viewport. */ +@Composable +private fun rememberInViewport(visibleTop: () -> Float, viewportHeight: () -> Float, top: Float, bottom: Float): Boolean { + val inView by remember(visibleTop, viewportHeight, top, bottom) { + derivedStateOf { visibleTop().let { top >= it && bottom <= it + viewportHeight() } } + } + return inView +} + @Composable private fun EventBlock( block: TimedBlock, @@ -921,6 +1437,11 @@ private fun EventBlock( val showTime = block.laneCount == 1 && metrics.available >= metrics.titleLine + metrics.timeLine val textWidth = width - (BLOCK_OUTER_INSET + BLOCK_TEXT_PADDING) * 2 + val shownTime = rememberBlockTimeRange( + minToHm(block.startMin, use24Hour, locale), + minToHm(block.endMin, use24Hour, locale), + textWidth, + ) // A short block drops the title rather than serving a horizontally sliced // one: half a letter reads as a rendering fault, while a bare colour chip // reads as what it is — an event too brief to label. Tap still opens it, and @@ -946,7 +1467,7 @@ private fun EventBlock( ) val spare = metrics.available - metrics.titleHeight(titleMaxLines) - if (showTime) metrics.timeLine else 0.dp - val timeMaxLines = if (showTime) blockTimeLines(timeLabel, textWidth, spare) else 1 + val timeMaxLines = if (showTime) blockTimeLines(shownTime, textWidth, spare) else 1 val dimCutoff = LocalDimCutoff.current val dimmed = dimCutoff != null && block.event.hasEnded(dimCutoff) val zone = remember { TimeZone.currentSystemDefault() } @@ -1005,7 +1526,7 @@ private fun EventBlock( } if (showTime) { BlockTimeLabel( - label = timeLabel, + label = shownTime, color = paint.secondaryInk, maxLines = timeMaxLines, ) @@ -1014,20 +1535,24 @@ private fun EventBlock( } } +private val SKELETON_HEADER_HEIGHT = 36.dp +private val SKELETON_HEADER_PADDING = 8.dp + @Composable -private fun WeekLoading() { +private fun WeekLoading(dayCount: Int) { val scale = LocalTimelineZoom.current.scale val scrollState = rememberScrollState() + val headerHeight = weekDayHeaderHeight() Column(modifier = Modifier.fillMaxSize()) { // Header skeleton - Row(modifier = Modifier.fillMaxWidth().padding(8.dp)) { + Row(modifier = Modifier.fillMaxWidth().padding(SKELETON_HEADER_PADDING)) { Spacer(Modifier.width(GUTTER_WIDTH)) - repeat(7) { + repeat(dayCount) { Box( modifier = Modifier .weight(1f) .padding(horizontal = 2.dp) - .height(36.dp) + .height(SKELETON_HEADER_HEIGHT) .background( MaterialTheme.colorScheme.surfaceContainer, RoundedCornerShape(8.dp), @@ -1038,7 +1563,9 @@ private fun WeekLoading() { BoxWithConstraints(modifier = Modifier.fillMaxSize()) { // Same scale resolution as the loaded timeline, so the skeleton's // columns don't resize the moment the real week arrives. - val hourHeight = scale.hourHeight(maxHeight) + val fitHeight = maxHeight + SKELETON_HEADER_HEIGHT + SKELETON_HEADER_PADDING * 2 - + headerHeight - TIMELINE_TOP_GAP + val hourHeight = scale.hourHeight(fitHeight) val totalHeight = hourHeight * 24 // The skeleton wears the loaded columns' own ground, so the arrival // of the real week doesn't flash solid blocks into a gapped grid. @@ -1053,7 +1580,7 @@ private fun WeekLoading() { .verticalScroll(scrollState), ) { Spacer(Modifier.width(GUTTER_WIDTH)) - repeat(7) { + repeat(dayCount) { Box( modifier = Modifier .weight(1f) @@ -1093,11 +1620,11 @@ private fun minToHm(min: Int, is24Hour: Boolean, locale: java.util.Locale): Stri */ private fun formatWeekTitle( weekStart: LocalDate, + weekEnd: LocalDate, locale: Locale, currentYear: Int, abbreviated: Boolean = false, ): String { - val weekEnd = weekStart.plus(6, kotlinx.datetime.DateTimeUnit.DAY) return formatCalendarTitle( date = java.time.LocalDate.of(weekStart.year, weekStart.month.ordinal + 1, 1), locale = locale, @@ -1106,3 +1633,17 @@ private fun formatWeekTitle( forceYear = weekEnd.year != weekStart.year, ) } + +/** The day's title: its weekday and date, abbreviated to the date alone when short of room. */ +private fun formatDayTitle( + date: LocalDate, + locale: Locale, + currentYear: Int, + abbreviated: Boolean = false, +): String = + formatCalendarTitle( + date = java.time.LocalDate.of(date.year, date.month.ordinal + 1, date.day), + locale = locale, + currentYear = currentYear, + skeleton = if (abbreviated) "dMMM" else "EEEdMMM", + ) diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewModel.kt index 53c34eb..e226fe6 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewModel.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewModel.kt @@ -9,18 +9,22 @@ import de.jeanlucmakiola.calendula.data.prefs.SettingsPrefs import de.jeanlucmakiola.calendula.data.prefs.resolveFirstDay import de.jeanlucmakiola.calendula.domain.CalendarSource import de.jeanlucmakiola.calendula.domain.EventInstance +import de.jeanlucmakiola.calendula.domain.displayPriority import de.jeanlucmakiola.calendula.domain.FailureReason import de.jeanlucmakiola.calendula.domain.calendarListFailure -import de.jeanlucmakiola.calendula.domain.isDeclined +import de.jeanlucmakiola.calendula.ui.common.PageStateCache import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filterNot import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn @@ -30,6 +34,7 @@ import kotlinx.datetime.LocalDate import kotlinx.datetime.TimeZone import kotlinx.datetime.atStartOfDayIn import kotlinx.datetime.atTime +import kotlinx.datetime.daysUntil import kotlinx.datetime.minus import kotlinx.datetime.plus import kotlinx.datetime.toInstant @@ -38,19 +43,42 @@ import java.util.Locale import kotlin.time.Clock import kotlin.time.Instant import javax.inject.Inject +import kotlin.math.abs const val MINUTES_PER_DAY: Int = 24 * 60 +/** How far from the requested page [PagedTimelineViewModel.span] keeps other pages cached. */ +private const val SPAN_CACHE_DAYS = 28 + +/** A run of [count] days from [start]: what one timeline page shows. */ +data class DaySpan(val start: LocalDate, val count: Int) + +/** How the pager cuts the calendar, and the page the anchor sits on. */ +data class PagerPosition(val grid: PageGrid, val page: Int) + +/** Where [anchor] sits under [rule]. */ +fun positionOf(anchor: LocalDate, rule: (LocalDate) -> PageGrid): PagerPosition = + rule(anchor).let { PagerPosition(it, it.pageFor(anchor)) } + +/** + * A timeline paged in runs of days: the week view, and the multi-day view (#193). + * The pager leads; the anchor follows it once it settles, and the grid it is + * cut by is derived from the anchor through [gridRule], so a subclass decides + * whether a jump re-frames the pages or only moves between them. + * + * @param gridRule the grid to use for a given anchor, as the settings behind it change. + * @param initialRule the rule used until [gridRule] first emits. + */ @OptIn(ExperimentalCoroutinesApi::class) -@HiltViewModel -class WeekViewModel @Inject constructor( +abstract class PagedTimelineViewModel( private val repository: CalendarRepository, settingsPrefs: SettingsPrefs, - @IoDispatcher private val io: CoroutineDispatcher, + private val io: CoroutineDispatcher, + gridRule: Flow<(LocalDate) -> PageGrid>, + initialRule: (LocalDate) -> PageGrid, ) : ViewModel() { private val zone = TimeZone.currentSystemDefault() - private val locale: Locale = Locale.getDefault() /** Whether to fade events that have already finished (display concern only). */ val dimCompletedEvents: StateFlow = settingsPrefs.dimCompletedEvents @@ -63,76 +91,91 @@ class WeekViewModel @Inject constructor( private val todayDate: LocalDate get() = Clock.System.now().toLocalDateTime(zone).date - /** First day of the week, from the Settings preference (AUTO → locale). */ - private val weekStart: StateFlow = settingsPrefs.weekStart - .map { it.resolveFirstDay(locale) } - .stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(5_000L), - initialValue = DayOfWeek.MONDAY, - ) - - // Anchor is a representative day inside the visible week; the actual week - // start is derived against [weekStart], so changing the first-day preference - // re-frames the same week instead of jumping. + // A day on the visible page; the page itself comes from the grid, so a + // settings change re-frames the same days instead of jumping. private val _anchor = MutableStateFlow(todayDate) + val anchor: StateFlow = _anchor - val weekStartDate: StateFlow = - combine(_anchor, weekStart) { anchor, ws -> anchor.startOfWeek(ws) } + /** + * The grid for a given anchor, held eagerly so a screen can place its pager + * on its very first frame rather than a frame after the anchor moved. + */ + val rule: StateFlow<(LocalDate) -> PageGrid> = + gridRule.stateIn(viewModelScope, SharingStarted.Eagerly, initialRule) + + private val position: StateFlow = + combine(_anchor, rule) { anchor, rule -> positionOf(anchor, rule) } + .distinctUntilChanged() .stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(5_000L), - initialValue = todayDate.startOfWeek(DayOfWeek.MONDAY), + initialValue = positionOf(todayDate, initialRule), ) + /** + * The anchor page's state. Once loaded it never falls back to [WeekUiState.Loading]: + * moving the anchor keeps the last result until the new page arrives, since + * the pages draw their own days and this only gates the failure screen. + */ val state: StateFlow = - combine(_anchor, weekStart) { anchor, ws -> anchor.startOfWeek(ws) } + position.map { DaySpan(it.grid.startForPage(it.page), it.grid.dayCount) } .distinctUntilChanged() - .flatMapLatest { start -> - val range = weekRange(start, zone) - combine( - repository.calendars(), - repository.instances(range), - ) { calendars, instances -> - buildState(start, calendars, instances) - } - } + .flatMapLatest { span -> span(span).filterNot { it is WeekUiState.Loading } } .catch { emit(WeekUiState.Failure(FailureReason.ProviderUnavailable)) } - .flowOn(io) .stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(5_000L), initialValue = WeekUiState.Loading, ) - fun goToPrev() { - _anchor.value = _anchor.value.minus(7, DateTimeUnit.DAY) + private val spans = PageStateCache( + scope = viewModelScope, + initial = WeekUiState.Loading, + // Far enough to cover the pages either side and a swipe back, so paging + // through a year doesn't keep a year of queries around. + keep = { cached, requested -> + cached.count == requested.count && + abs(cached.start.daysUntil(requested.start)) <= SPAN_CACHE_DAYS + }, + ) { span -> + combine( + repository.calendars(), + repository.instances(spanRange(span.start, span.count, zone)), + ) { calendars, instances -> + buildState(span, calendars, instances) + } + .catch { emit(WeekUiState.Failure(FailureReason.ProviderUnavailable)) } + .flowOn(io) } - fun goToNext() { - _anchor.value = _anchor.value.plus(7, DateTimeUnit.DAY) + /** The days of one page, shared between that page and [state]. Main thread only. */ + fun span(span: DaySpan): StateFlow = spans.get(span) + + /** The pager came to rest on [page]; follow it unless it is already the anchor's. */ + fun onPageSettled(page: Int) { + val grid = rule.value(_anchor.value) + if (grid.pageFor(_anchor.value) != page) _anchor.value = grid.startForPage(page) } - fun goToToday() { - _anchor.value = todayDate - } - - /** Jump to the week containing [date] (drawer jump-to-date). */ - fun goToDate(date: LocalDate) { + /** Move the anchor to [date], re-framing the pages if the grid depends on it. */ + fun jumpTo(date: LocalDate) { _anchor.value = date } + fun goToToday() = jumpTo(todayDate) + fun goToDate(date: LocalDate) = jumpTo(date) + private fun buildState( - start: LocalDate, + span: DaySpan, calendars: List, instances: List, ): WeekUiState { calendarListFailure(calendars)?.let { return WeekUiState.Failure(it) } - val days = (0 until 7).map { start.plus(it, DateTimeUnit.DAY) } + val days = (0 until span.count).map { span.start.plus(it, DateTimeUnit.DAY) } val allDay = instances.filter { it.isAllDay } val timed = instances.filterNot { it.isAllDay } return WeekUiState.Success( - weekStart = start, + weekStart = span.start, today = todayDate, days = days, allDaySpans = layoutAllDay(allDay, days, zone), @@ -141,6 +184,58 @@ class WeekViewModel @Inject constructor( } } +/** Whole weeks, starting on the first day from Settings (AUTO → locale). */ +@HiltViewModel +class WeekViewModel @Inject constructor( + repository: CalendarRepository, + settingsPrefs: SettingsPrefs, + @IoDispatcher io: CoroutineDispatcher, +) : PagedTimelineViewModel( + repository = repository, + settingsPrefs = settingsPrefs, + io = io, + gridRule = settingsPrefs.weekStart.map { pref -> + val grid = WeekGrid(pref.resolveFirstDay(Locale.getDefault())) + val rule: (LocalDate) -> PageGrid = { grid } + rule + }, + initialRule = { WeekGrid(DayOfWeek.MONDAY) }, +) + +/** + * The multi-day view (#193): runs of the day count from Settings, with the + * anchor always a page's first day, so today — or a date jumped to — opens in + * the first column. + */ +@HiltViewModel +class MultiDayViewModel @Inject constructor( + repository: CalendarRepository, + settingsPrefs: SettingsPrefs, + @IoDispatcher io: CoroutineDispatcher, +) : PagedTimelineViewModel( + repository = repository, + settingsPrefs = settingsPrefs, + io = io, + gridRule = settingsPrefs.multiDayCount.map { count -> + { anchor: LocalDate -> DaysGrid.startingAt(anchor, count) } + }, + initialRule = { DaysGrid.startingAt(it, SettingsPrefs.DEFAULT_MULTI_DAY_COUNT) }, +) + +/** The day view: the timeline one day at a time. */ +@HiltViewModel +class DayViewModel @Inject constructor( + repository: CalendarRepository, + settingsPrefs: SettingsPrefs, + @IoDispatcher io: CoroutineDispatcher, +) : PagedTimelineViewModel( + repository = repository, + settingsPrefs = settingsPrefs, + io = io, + gridRule = flowOf { _: LocalDate -> DayGrid }, + initialRule = { DayGrid }, +) + /** * Lay out all-day events as connected horizontal spans across the visible week. * Each event becomes one [AllDaySpan] from its first to its last covered column; @@ -160,7 +255,13 @@ internal fun layoutAllDay( } // Declined bars are packed after every other one, so on any day they // cover they land in a lane below it (#230). - .sortedWith(compareBy({ it.event.isDeclined }, { it.startCol }, { it.endCol })) + .sortedWith( + compareBy { it.event.displayPriority(zone) } + .thenBy { it.startCol } + .thenBy { it.endCol } + .thenBy { it.event.start } + .thenBy { it.event.instanceId }, + ) // What each lane already holds, rather than just how far right it reaches. // A single "last occupied column" only answers correctly while spans arrive @@ -194,10 +295,10 @@ internal fun LocalDate.startOfWeek(weekStart: DayOfWeek): LocalDate { return minus(offset, DateTimeUnit.DAY) } -/** Half-open instant range covering the seven days starting at [start]. */ -internal fun weekRange(start: LocalDate, zone: TimeZone): ClosedRange { +/** Instant range covering the [count] days starting at [start]. */ +internal fun spanRange(start: LocalDate, count: Int, zone: TimeZone): ClosedRange { val from = start.atStartOfDayIn(zone) - val to = start.plus(6, DateTimeUnit.DAY).atTime(23, 59, 59).toInstant(zone) + val to = start.plus(count - 1, DateTimeUnit.DAY).atTime(23, 59, 59).toInstant(zone) return from..to } diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewPreview.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewPreview.kt index 977ac1f..d336cdf 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewPreview.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/week/WeekViewPreview.kt @@ -32,10 +32,13 @@ internal fun WeekViewPreview( weekStart: DayOfWeek, height: Dp, modifier: Modifier = Modifier, + dayCount: Int = 7, ) { val zone = remember { TimeZone.currentSystemDefault() } val today = remember(zone) { Clock.System.now().toLocalDateTime(zone).date } - val state = remember(today, weekStart, zone) { sampleWeekState(today, weekStart, zone) } + val state = remember(today, weekStart, dayCount, zone) { + sampleWeekState(today, weekStart, dayCount, zone) + } val scrollState = rememberScrollState() LaunchedEffect(Unit) { snapshotFlow { scrollState.maxValue }.first { it > 0 } @@ -46,6 +49,8 @@ internal fun WeekViewPreview( ScaledViewPreview(height = height, modifier = modifier) { WeekSuccess( state = state, + showWeekNumber = dayCount == 7, + headerBias = if (dayCount == 1) TimelineKind.Day.headerBias else 0f, scrollState = scrollState, allDayHeight = state.allDayStripHeight(), dragController = rememberTimelineDragController(), @@ -61,10 +66,11 @@ internal fun WeekViewPreview( private fun sampleWeekState( today: LocalDate, weekStart: DayOfWeek, + dayCount: Int, zone: TimeZone, ): WeekUiState.Success { - val start = today.startOfWeek(weekStart) - val days = (0 until 7).map { start.plus(it, DateTimeUnit.DAY) } + val start = if (dayCount == 7) today.startOfWeek(weekStart) else today + val days = (0 until dayCount).map { start.plus(it, DateTimeUnit.DAY) } val events = sampleTimelineEvents(days, today, zone) return WeekUiState.Success( weekStart = start, diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8ef8b99..cf9413d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,10 +1,10 @@ Calendula A modern calendar. - - Calendar + + Calendar Loading… @@ -54,7 +54,9 @@ Previous month Next month + Open week %1$d Today + Show full month agenda More actions Open menu Settings @@ -67,6 +69,10 @@ Today + + Earlier events + Later events + Back Edit @@ -349,12 +355,18 @@ Snooze Dismiss + Today Tomorrow Yesterday Month Week + + + %d day + %d days + Day Agenda View @@ -470,7 +482,10 @@ each hour") describes a feature that no longer exists and needs redoing. --> Hour grid Seat each hour in its own cell in week and day view + Multi-day view + How many days the multi-day view shows side by side. Today opens in the first column. Hour height + Set by Visible hours How much vertical space one hour takes in week and day view. Both views share this setting. You can also pinch the timeline with two fingers to set any height in between. Fit whole day All 24 hours on one screen, no scrolling @@ -482,6 +497,13 @@ Roomier blocks, more scrolling Custom The height you pinched the timeline to + Visible hours + Fit a range of hours to the screen when week, multi-day or day view opens + %1$s – %2$s fills the screen when a view opens + From + Until + The hour at the top of the screen when week, multi-day or day view opens. Earlier hours are still a scroll away. + The hour at the bottom of the screen when a view opens. Later hours are still a scroll away, and pinching zooms until the view is opened again. Dim completed events Fade events that have already ended in month and week view Drag to reschedule @@ -530,7 +552,7 @@ Month view Month view style Pages - One month fills the screen. Swipe left or right to change month. + One month fills the screen. Swipe left or right to change month, or swipe up to show the month agenda. Scrolling months Each month sits under its own heading, with a little space setting it apart from the next. Seamless weeks diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml index 8eeef6a..f09fe03 100644 --- a/app/src/main/res/xml/locales_config.xml +++ b/app/src/main/res/xml/locales_config.xml @@ -18,6 +18,7 @@ + diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapperTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapperTest.kt index c369cf6..db59c95 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapperTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/data/calendar/EventWriteMapperTest.kt @@ -1075,16 +1075,29 @@ class EventWriteMapperTest { } @Test - fun `occurrence exception carries the palette key`() { + fun `occurrence exception leaves the palette key out`() { + // The provider crashes on an exception insert carrying a colour key + // (Codeberg #338); the data source sets it with an update afterwards. val values = buildOccurrenceExceptionValues( form = form().copy(colorKey = "2", color = 0xFFE67C00.toInt()), originalInstanceMillis = 0L, zone = berlin, ) - assertThat(values).containsEntry(CalendarContract.Events.EVENT_COLOR_KEY, "2") + assertThat(values).doesNotContainKey(CalendarContract.Events.EVENT_COLOR_KEY) assertThat(values).doesNotContainKey(CalendarContract.Events.EVENT_COLOR) } + @Test + fun `occurrence exception with a custom colour writes it directly`() { + val values = buildOccurrenceExceptionValues( + form = form().copy(color = 0xFFE67C00.toInt()), + originalInstanceMillis = 0L, + zone = berlin, + ) + assertThat(values).containsEntry(CalendarContract.Events.EVENT_COLOR, 0xFFE67C00.toInt()) + assertThat(values).containsEntry(CalendarContract.Events.EVENT_COLOR_KEY, null) + } + @Test fun `occurrence exception with no colour clears both columns`() { val values = buildOccurrenceExceptionValues( diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefsTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefsTest.kt index e4b28f0..42fc64f 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefsTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/data/prefs/SettingsPrefsTest.kt @@ -14,6 +14,7 @@ import de.jeanlucmakiola.calendula.ui.agenda.AgendaRange import de.jeanlucmakiola.calendula.ui.common.CalendarView import de.jeanlucmakiola.calendula.ui.common.IMPLEMENTED_VIEWS import de.jeanlucmakiola.calendula.ui.common.QuickSwitchConfig +import de.jeanlucmakiola.calendula.ui.common.TimelineHours import de.jeanlucmakiola.calendula.ui.common.TimelineScale import de.jeanlucmakiola.calendula.ui.month.MonthViewStyle import kotlinx.coroutines.flow.first @@ -125,6 +126,24 @@ class SettingsPrefsTest { assertThat(prefs.timelineScale.first()).isEqualTo(TimelineScale.Comfortable) } + @Test + fun `visible hours default off and round-trip`(@TempDir tempDir: Path) = runTest { + val prefs = SettingsPrefs(newDataStore(tempDir)) + assertThat(prefs.timelineHours.first()).isEqualTo(TimelineHours(enabled = false, 7, 22)) + prefs.setTimelineHours(TimelineHours(enabled = true, 6, 20)) + assertThat(prefs.timelineHours.first()).isEqualTo(TimelineHours(enabled = true, 6, 20)) + // Switching off keeps the chosen hours for next time. + prefs.setTimelineHours(TimelineHours(enabled = false, 6, 20)) + assertThat(prefs.timelineHours.first()).isEqualTo(TimelineHours(enabled = false, 6, 20)) + } + + @Test + fun `visible hours are stored valid`(@TempDir tempDir: Path) = runTest { + val prefs = SettingsPrefs(newDataStore(tempDir)) + prefs.setTimelineHours(TimelineHours(enabled = true, 23, 22)) + assertThat(prefs.timelineHours.first()).isEqualTo(TimelineHours(enabled = true, 20, 22)) + } + @Test fun `week numbers default off and round-trips`(@TempDir tempDir: Path) = runTest { val prefs = SettingsPrefs(newDataStore(tempDir)) @@ -235,7 +254,8 @@ class SettingsPrefsTest { prefs.setQuickSwitchConfig(config) val loaded = prefs.quickSwitchConfig.first() assertThat(loaded.order).containsExactly( - CalendarView.Agenda, CalendarView.Month, CalendarView.Week, CalendarView.Day, + CalendarView.Agenda, CalendarView.Month, CalendarView.Week, + CalendarView.MultiDay, CalendarView.Day, ).inOrder() assertThat(loaded.enabled).containsExactly(CalendarView.Agenda, CalendarView.Month) assertThat(loaded.cycle).containsExactly(CalendarView.Agenda, CalendarView.Month).inOrder() @@ -252,13 +272,14 @@ class SettingsPrefsTest { m } val config = prefs.quickSwitchConfig.first() - // Stored order first (Day, Week), then the omitted views in default order. + // Stored order first, with the new view after Week. assertThat(config.order).containsExactly( - CalendarView.Day, CalendarView.Week, CalendarView.Month, CalendarView.Agenda, + CalendarView.Day, CalendarView.Week, CalendarView.MultiDay, + CalendarView.Month, CalendarView.Agenda, ).inOrder() - // Day was explicitly disabled; the appended Month & Agenda default enabled. + // Day was explicitly disabled; the missing views default enabled. assertThat(config.enabled).containsExactly( - CalendarView.Week, CalendarView.Month, CalendarView.Agenda, + CalendarView.Week, CalendarView.MultiDay, CalendarView.Month, CalendarView.Agenda, ) } @@ -272,9 +293,12 @@ class SettingsPrefsTest { val newOrder = listOf(CalendarView.Agenda, CalendarView.Month, CalendarView.Week, CalendarView.Day) prefs.updateQuickSwitch { it.copy(order = newOrder) } val config = prefs.quickSwitchConfig.first() - assertThat(config.order).containsExactlyElementsIn(newOrder).inOrder() - assertThat(config.enabled).containsExactly( + assertThat(config.order).containsExactly( CalendarView.Agenda, CalendarView.Month, CalendarView.Week, + CalendarView.MultiDay, CalendarView.Day, + ).inOrder() + assertThat(config.enabled).containsExactly( + CalendarView.Agenda, CalendarView.Month, CalendarView.Week, CalendarView.MultiDay, ) } @@ -286,7 +310,8 @@ class SettingsPrefsTest { listOf(CalendarView.Agenda, CalendarView.Day, CalendarView.Week, CalendarView.Month), ) assertThat(prefs.drawerViewOrder.first()).containsExactly( - CalendarView.Agenda, CalendarView.Day, CalendarView.Week, CalendarView.Month, + CalendarView.Agenda, CalendarView.Day, CalendarView.Week, + CalendarView.MultiDay, CalendarView.Month, ).inOrder() } @@ -300,7 +325,8 @@ class SettingsPrefsTest { m } assertThat(prefs.drawerViewOrder.first()).containsExactly( - CalendarView.Agenda, CalendarView.Week, CalendarView.Month, CalendarView.Day, + CalendarView.Agenda, CalendarView.Week, CalendarView.MultiDay, + CalendarView.Month, CalendarView.Day, ).inOrder() } diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeTextTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeTextTest.kt index c8014a1..13d20b6 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeTextTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/data/reminders/ReminderTimeTextTest.kt @@ -38,6 +38,7 @@ class ReminderTimeTextTest { is24Hour = is24Hour, today = today ?: java.time.Instant.ofEpochMilli(beginMillis).atZone(zone).toLocalDate(), firstDayOfWeek = firstDayOfWeek, + todayLabel = "Today", tomorrowLabel = "Tomorrow", yesterdayLabel = "Yesterday", ) @@ -130,38 +131,74 @@ class ReminderTimeTextTest { } @Test - fun `all-day single day shows one date, read in UTC`() { + fun `all-day single day today reads as today, read in UTC`() { val text = text( beginMillis = utcMidnight(LocalDate.of(2026, 6, 11)), endMillis = utcMidnight(LocalDate.of(2026, 6, 12)), isAllDay = true, // Zone must not matter for all-day events: UTC midnight is - // 02:00 in Berlin — naive local reading would shift the day. + // the previous evening in Los Angeles — naive local reading would shift the day. + zone = ZoneId.of("America/Los_Angeles"), today = LocalDate.of(2026, 6, 11), ) - assertThat(text).isEqualTo("11.06.2026") + assertThat(text).isEqualTo("Today") } @Test - fun `all-day event tomorrow still shows the exact date, no relative prefix`() { + fun `all-day event tomorrow reads as tomorrow`() { val text = text( beginMillis = utcMidnight(LocalDate.of(2026, 6, 12)), endMillis = utcMidnight(LocalDate.of(2026, 6, 13)), isAllDay = true, today = LocalDate.of(2026, 6, 11), ) - assertThat(text).isEqualTo("12.06.2026") + assertThat(text).isEqualTo("Tomorrow") } @Test - fun `all-day multi-day shows the last covered day, not the exclusive end`() { + fun `all-day event later this week reads as the short weekday`() { + // 2026-06-11 is a Thursday; Saturday the 13th shares its week. val text = text( - beginMillis = utcMidnight(LocalDate.of(2026, 6, 11)), - endMillis = utcMidnight(LocalDate.of(2026, 6, 13)), + beginMillis = utcMidnight(LocalDate.of(2026, 6, 13)), + endMillis = utcMidnight(LocalDate.of(2026, 6, 14)), + isAllDay = true, + locale = Locale.US, + today = LocalDate.of(2026, 6, 11), + ) + assertThat(text).isEqualTo("Sat") + } + + @Test + fun `all-day event next week falls back to the exact date`() { + val text = text( + beginMillis = utcMidnight(LocalDate.of(2026, 6, 16)), + endMillis = utcMidnight(LocalDate.of(2026, 6, 17)), isAllDay = true, today = LocalDate.of(2026, 6, 11), ) - assertThat(text).isEqualTo("11.06.2026 – 12.06.2026") + assertThat(text).isEqualTo("16.06.2026") + } + + @Test + fun `all-day multi-day reads relative start and the last covered day`() { + val text = text( + beginMillis = utcMidnight(LocalDate.of(2026, 6, 12)), + endMillis = utcMidnight(LocalDate.of(2026, 6, 14)), + isAllDay = true, + today = LocalDate.of(2026, 6, 11), + ) + assertThat(text).isEqualTo("Tomorrow – 13.06.2026") + } + + @Test + fun `all-day multi-day further out keeps both dates`() { + val text = text( + beginMillis = utcMidnight(LocalDate.of(2026, 7, 1)), + endMillis = utcMidnight(LocalDate.of(2026, 7, 3)), + isAllDay = true, + today = LocalDate.of(2026, 6, 11), + ) + assertThat(text).isEqualTo("01.07.2026 – 02.07.2026") } @Test @@ -173,6 +210,6 @@ class ReminderTimeTextTest { isAllDay = true, today = LocalDate.of(2026, 6, 11), ) - assertThat(text).isEqualTo("11.06.2026") + assertThat(text).isEqualTo("Today") } } diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/domain/color/EventToneTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/domain/color/EventToneTest.kt index caed3b2..0446a90 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/domain/color/EventToneTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/domain/color/EventToneTest.kt @@ -156,4 +156,5 @@ class EventToneTest { assertThat(eventTone(0xFFFFF6C0.toInt(), dark = false, harmonise = false).onContainer) .isEqualTo(0xFF000000.toInt()) } + } diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaItemDatesTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaItemDatesTest.kt new file mode 100644 index 0000000..4e5c7b1 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/AgendaItemDatesTest.kt @@ -0,0 +1,40 @@ +package de.jeanlucmakiola.calendula.ui.agenda + +import com.google.common.truth.Truth.assertThat +import de.jeanlucmakiola.calendula.domain.EventInstance +import kotlinx.datetime.LocalDate +import kotlin.time.Instant +import org.junit.jupiter.api.Test + +/** The day each agenda list item belongs to, for the focus it hands back (#184). */ +class AgendaItemDatesTest { + + private val monday = LocalDate(2026, 9, 28) + private val tuesday = LocalDate(2026, 9, 29) + + private fun event(id: Long) = EventInstance( + instanceId = id, + eventId = id, + calendarId = 1L, + title = "Event", + start = Instant.fromEpochMilliseconds(0), + end = Instant.fromEpochMilliseconds(0), + isAllDay = false, + color = 0xFF000000.toInt(), + location = null, + ) + + @Test + fun `each day counts its header, events and gap`() { + val days = listOf(AgendaDay(monday, listOf(event(1), event(2))), AgendaDay(tuesday, listOf(event(3)))) + assertThat(agendaItemDates(days)).containsExactly( + monday, monday, monday, monday, + tuesday, tuesday, tuesday, + ).inOrder() + } + + @Test + fun `an empty day counts its placeholder`() { + assertThat(agendaItemDates(listOf(AgendaDay(monday, emptyList())))).hasSize(3) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/GroupAgendaDaysTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/GroupAgendaDaysTest.kt index 37d01d5..aee5190 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/GroupAgendaDaysTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/agenda/GroupAgendaDaysTest.kt @@ -77,6 +77,16 @@ class GroupAgendaDaysTest { .containsExactly(LocalDate(2026, 7, 2)) } + @Test + fun `multi-day events precede single all-day and timed events`() { + val multi = event(1, "Multi", at(2026, 7, 1), at(2026, 7, 4), isAllDay = true) + val single = event(2, "Single", at(2026, 7, 2), at(2026, 7, 3), isAllDay = true) + val timed = event(3, "Timed", at(2026, 7, 2, 8), at(2026, 7, 2, 9)) + val second = days(listOf(timed, single, multi)).first { it.date == LocalDate(2026, 7, 2) } + assertThat(second.events.map { it.title }) + .containsExactly("Multi", "Single", "Timed").inOrder() + } + @Test fun `an event ending exactly at midnight does not reach the next day`() { val e = event(1, "late", at(2026, 7, 1, 22, 0), at(2026, 7, 2, 0, 0)) diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/BlockTimeRangeTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/BlockTimeRangeTest.kt new file mode 100644 index 0000000..883c467 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/BlockTimeRangeTest.kt @@ -0,0 +1,48 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.ui.unit.dp +import com.google.common.truth.Truth.assertThat +import org.junit.jupiter.api.Test + +class BlockTimeRangeTest { + + /** Fits whatever is at most [chars] characters wide. */ + private fun upTo(chars: Int): (String) -> Boolean = { it.length <= chars } + + @Test + fun `a range that fits stays on one line`() { + assertThat(blockTimeRange("6:00 PM", "7:00 PM", upTo(20))) + .isEqualTo("6:00\u00A0PM–7:00\u00A0PM") + } + + @Test + fun `a narrow column hangs the dash off the start time`() { + assertThat(blockTimeRange("6:00 PM", "7:00 PM", upTo(8))) + .isEqualTo("6:00\u00A0PM–\n7:00\u00A0PM") + } + + @Test + fun `the dash leads the end time when only that side has room`() { + assertThat(blockTimeRange("10:00 PM", "7:00 PM", upTo(8))) + .isEqualTo("10:00\u00A0PM\n–7:00\u00A0PM") + } + + @Test + fun `with room for neither dash the times just stack`() { + assertThat(blockTimeRange("6:00 PM", "7:00 PM", upTo(7))) + .isEqualTo("6:00\u00A0PM\n7:00\u00A0PM") + } + + @Test + fun `a time too wide for the column keeps its space to wrap at`() { + assertThat(blockTimeRange("6:00 PM", "7:00 PM", upTo(5))) + .isEqualTo("6:00 PM–\u200B7:00 PM") + } + + @Test + fun `the label takes every whole line the spare height holds`() { + assertThat(timeLinesWithin(spare = 0.dp, timeLine = 13.dp)).isEqualTo(1) + assertThat(timeLinesWithin(spare = 13.dp, timeLine = 13.dp)).isEqualTo(2) + assertThat(timeLinesWithin(spare = 40.dp, timeLine = 13.dp)).isEqualTo(4) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdgesTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdgesTest.kt new file mode 100644 index 0000000..6268b26 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/OutOfViewEdgesTest.kt @@ -0,0 +1,147 @@ +package de.jeanlucmakiola.calendula.ui.common + +import com.google.common.truth.Truth.assertThat +import de.jeanlucmakiola.calendula.domain.EventInstance +import de.jeanlucmakiola.calendula.ui.week.TimedBlock +import kotlin.time.Instant +import org.junit.jupiter.api.Test + +/** Which events a column's edge bars point at, and where a tap scrolls (#188). */ +class OutOfViewEdgesTest { + + private fun block(id: Long, startMin: Int, endMin: Int) = TimedBlock( + event = EventInstance( + instanceId = id, + eventId = id, + calendarId = 1L, + title = "Event $id", + start = Instant.fromEpochMilliseconds(0), + end = Instant.fromEpochMilliseconds(0), + isAllDay = false, + color = 0xFF112233.toInt(), + location = null, + ), + startMin = startMin, + endMin = endMin, + lane = 0, + laneCount = 1, + ) + + private val early = block(1, 7 * 60, 8 * 60) + private val breakfast = block(2, 8 * 60, 9 * 60) + private val lunch = block(3, 12 * 60, 13 * 60) + private val dinner = block(4, 19 * 60, 20 * 60) + private val late = block(5, 21 * 60, 22 * 60) + + // Viewport 10:00–17:00. + private fun outOf(vararg blocks: TimedBlock) = + outOfViewEvents(blocks.toList(), topMin = 600f, bottomMin = 1020f) + + @Test + fun `the nearest hidden event on each side is picked`() { + val events = outOf(early, breakfast, lunch, dinner, late) + assertThat(events.above).isEqualTo(breakfast) + assertThat(events.below).isEqualTo(dinner) + } + + @Test + fun `an event in view points nowhere`() { + assertThat(outOf(lunch)).isEqualTo(OutOfViewEvents.None) + } + + @Test + fun `an event cut by the edge is not out of view`() { + val straddling = block(6, 9 * 60, 11 * 60) + assertThat(outOf(straddling).above).isNull() + } + + @Test + fun `an event disappears from the edge as soon as a sliver enters view`() { + val sliver = block(6, 9 * 60, 10 * 60 + 5) + assertThat(outOf(sliver).above).isNull() + val tip = block(7, 17 * 60 - 5, 18 * 60) + assertThat(outOf(tip).below).isNull() + val justAbove = block(8, 9 * 60, 10 * 60) + val justBelow = block(9, 17 * 60, 18 * 60) + assertThat(outOf(justAbove).above).isEqualTo(justAbove) + assertThat(outOf(justBelow).below).isEqualTo(justBelow) + } + + @Test + fun `the bar fades before its event reaches the viewport`() { + assertThat(edgeBarAlpha(gapPx = 24f, fadeLeadPx = 24f)).isEqualTo(1f) + assertThat(edgeBarAlpha(gapPx = 12f, fadeLeadPx = 24f)).isEqualTo(0.5f) + assertThat(edgeBarAlpha(gapPx = 0f, fadeLeadPx = 24f)).isEqualTo(0f) + assertThat(edgeBarAlpha(gapPx = -1f, fadeLeadPx = 24f)).isEqualTo(0f) + } + + @Test + fun `a column scrolled to its top points at nothing above it`() { + val first = block(6, 0, 30) + val events = outOfViewEvents(listOf(first), topMin = 0f, bottomMin = 420f) + assertThat(events.above).isNull() + } + + @Test + fun `a short event is judged by the height it renders at`() { + // Five minutes ending at 09:58 still draws 26 minutes tall, past 10:00. + val blip = block(6, 9 * 60 + 53, 9 * 60 + 58) + assertThat(outOf(blip).above).isNull() + } + + @Test + fun `an event above scrolls to its start less the margin`() { + val target = revealScrollTarget(breakfast, ViewportEdge.Top, hourPx = 100f, viewportPx = 700, marginPx = 20f, maxScroll = 1700) + assertThat(target).isEqualTo(780) + } + + @Test + fun `an event below that fits lands whole at the bottom`() { + val target = revealScrollTarget(dinner, ViewportEdge.Bottom, hourPx = 100f, viewportPx = 700, marginPx = 20f, maxScroll = 1700) + // Its end, 2000, plus the margin, sits at the viewport's bottom. + assertThat(target).isEqualTo(1320) + } + + @Test + fun `an event below taller than the viewport lands with its start at the top`() { + val long = block(6, 12 * 60, 22 * 60) + val target = revealScrollTarget(long, ViewportEdge.Bottom, hourPx = 100f, viewportPx = 700, marginPx = 20f, maxScroll = 1700) + assertThat(target).isEqualTo(1180) + } + + @Test + fun `the target stays within the scroll range`() { + val first = block(6, 0, 30) + assertThat( + revealScrollTarget(first, ViewportEdge.Top, hourPx = 100f, viewportPx = 700, marginPx = 20f, maxScroll = 1700), + ).isEqualTo(0) + val last = block(7, 23 * 60, 24 * 60) + assertThat( + revealScrollTarget(last, ViewportEdge.Bottom, hourPx = 100f, viewportPx = 700, marginPx = 20f, maxScroll = 1700), + ).isEqualTo(1700) + } + + // Viewport 1000..1700 px with both bars showing, 40 px of reach. + private fun tapped(y: Float, events: OutOfViewEvents = OutOfViewEvents(breakfast, dinner)) = + tappedEdge(events, y, viewportTop = 1000f, viewportPx = 700, reachPx = 40f) + + @Test + fun `a tap near an edge with a bar hits that bar`() { + assertThat(tapped(1010f)).isEqualTo(ViewportEdge.Top) + assertThat(tapped(1040f)).isEqualTo(ViewportEdge.Top) + assertThat(tapped(1690f)).isEqualTo(ViewportEdge.Bottom) + } + + @Test + fun `a tap past the bar's reach is left to the column`() { + assertThat(tapped(1041f)).isNull() + assertThat(tapped(1350f)).isNull() + assertThat(tapped(1659f)).isNull() + } + + @Test + fun `a tap near an edge without a bar is left to the column`() { + assertThat(tapped(1010f, OutOfViewEvents(null, dinner))).isNull() + assertThat(tapped(1690f, OutOfViewEvents(breakfast, null))).isNull() + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/PageStateCacheTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/PageStateCacheTest.kt new file mode 100644 index 0000000..1266a71 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/PageStateCacheTest.kt @@ -0,0 +1,53 @@ +package de.jeanlucmakiola.calendula.ui.common + +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.launch +import kotlinx.coroutines.test.UnconfinedTestDispatcher +import kotlinx.coroutines.test.runTest +import org.junit.jupiter.api.Test +import kotlin.math.abs + +@OptIn(ExperimentalCoroutinesApi::class) +class PageStateCacheTest { + + @Test + fun `the same key shares one state`() = runTest { + val cache = PageStateCache(backgroundScope, 0, { a, b -> abs(a - b) <= 1 }) { flow { emit(it) } } + assertThat(cache.get(5)).isSameInstanceAs(cache.get(5)) + } + + @Test + fun `a dropped entry stops loading`() = runTest(UnconfinedTestDispatcher()) { + var running = 0 + val cache = PageStateCache(backgroundScope, 0, { a, b -> abs(a - b) <= 1 }) { key -> + flow { + running++ + try { + emit(key) + awaitCancellation() + } finally { + running-- + } + } + } + backgroundScope.launch { cache.get(0).collect {} } + assertThat(running).isEqualTo(1) + + // Far enough away that 0 is let go, even though it is still collected. + cache.get(10) + assertThat(running).isEqualTo(0) + assertThat(cache.size).isEqualTo(1) + } + + @Test + fun `nearby entries are kept`() = runTest { + val cache = PageStateCache(backgroundScope, 0, { a, b -> abs(a - b) <= 2 }) { flow { emit(it) } } + cache.get(4) + cache.get(5) + cache.get(6) + assertThat(cache.size).isEqualTo(3) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/TimelineHoursTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/TimelineHoursTest.kt new file mode 100644 index 0000000..f7c0610 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/TimelineHoursTest.kt @@ -0,0 +1,115 @@ +package de.jeanlucmakiola.calendula.ui.common + +import androidx.compose.ui.unit.dp +import com.google.common.truth.Truth.assertThat +import org.junit.jupiter.api.Test + +class TimelineHoursTest { + + private val viewport = 600.dp + + @Test + fun `the chosen range exactly fills the viewport`() { + // 07–22 is 15 hours: 600dp / 15 = 40dp an hour. + assertThat(TimelineScale.FitHours(7, 22).hourHeight(viewport)).isEqualTo(40.dp) + } + + @Test + fun `the whole day fits like FitDay`() { + assertThat(TimelineScale.FitHours(0, 24).hourHeight(viewport)) + .isEqualTo(TimelineScale.FitDay.hourHeight(viewport)) + } + + @Test + fun `a short range on a tall screen stops at the pinch ceiling`() { + assertThat(TimelineScale.FitHours(9, 11).hourHeight(2000.dp)).isEqualTo(MAX_PINCH_HOUR_HEIGHT) + } + + @Test + fun `ranges are held to the day and the minimum span`() { + assertThat(TimelineHours.of(true, -3, 30)).isEqualTo(TimelineHours(true, 0, 24)) + assertThat(TimelineHours.of(true, 23, 22)).isEqualTo(TimelineHours(true, 20, 22)) + assertThat(TimelineHours.of(true, 5, 1)).isEqualTo(TimelineHours(true, 0, 2)) + } + + @Test + fun `the pickers only offer valid pairings`() { + assertThat(TimelineHours.startOptions(22)).isEqualTo((0..20).toList()) + assertThat(TimelineHours.endOptions(7)).isEqualTo((9..24).toList()) + } + + @Test + fun `opening scrolls to the start hour once the layout is at the fitted height`() { + // 40px an hour over a 600px viewport: 960px of content, 360px of scroll. + assertThat(startHourScroll(maxValue = 360, viewportPx = 600, startHour = 7, hourPx = 40f)) + .isEqualTo(280) + } + + @Test + fun `a layout still at the previous scale is waited out`() { + // Still 56px an hour: 1344 - 600 = 744 of scroll. + assertThat(startHourScroll(maxValue = 744, viewportPx = 600, startHour = 7, hourPx = 40f)) + .isNull() + // Not laid out at all yet. + assertThat(startHourScroll(maxValue = Int.MAX_VALUE, viewportPx = 0, startHour = 7, hourPx = 40f)) + .isNull() + } + + @Test + fun `the whole day needs no scroll`() { + assertThat(startHourScroll(maxValue = 0, viewportPx = 600, startHour = 0, hourPx = 25f)) + .isEqualTo(0) + } + + @Test + fun `a fitted range round-trips through storage`() { + val scale = TimelineScale.FitHours(6, 20) + assertThat(parseTimelineScale(scale.storageValue())).isEqualTo(scale) + assertThat(parseTimelineScale("hours:x-2")).isEqualTo(TimelineScale.Regular) + } + + @Test + fun `opening with visible hours on replaces a pinched scale`() { + val persisted = mutableListOf() + val zoom = TimelineZoom(TimelineScale.custom(90.dp)) { persisted += it } + zoom.adoptHours(TimelineHours(true, 7, 22)) + + assertThat(zoom.open()).isEqualTo(7) + assertThat(zoom.scale).isEqualTo(TimelineScale.FitHours(7, 22)) + + // A pinch overrides it for the visit but is not saved over the preference. + zoom.beginPinch() + zoom.pinchTo(100.dp) + zoom.endPinch() + assertThat(zoom.scale).isEqualTo(TimelineScale.custom(100.dp)) + assertThat(persisted).isEmpty() + + // Opening again fits the range again. + zoom.open() + assertThat(zoom.scale).isEqualTo(TimelineScale.FitHours(7, 22)) + } + + @Test + fun `a late stored scale does not undo the fit, and switching off restores it`() { + val zoom = TimelineZoom(TimelineScale.Regular) {} + zoom.adoptHours(TimelineHours(true, 7, 22)) + zoom.open() + zoom.adopt(TimelineScale.Comfortable) + assertThat(zoom.scale).isEqualTo(TimelineScale.FitHours(7, 22)) + + zoom.adoptHours(TimelineHours(false, 7, 22)) + assertThat(zoom.open()).isNull() + assertThat(zoom.scale).isEqualTo(TimelineScale.Comfortable) + } + + @Test + fun `with visible hours off a pinch is still saved`() { + val persisted = mutableListOf() + val zoom = TimelineZoom(TimelineScale.Regular) { persisted += it } + assertThat(zoom.open()).isNull() + zoom.beginPinch() + zoom.pinchTo(70.dp) + zoom.endPinch() + assertThat(persisted).containsExactly(TimelineScale.custom(70.dp)) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewBackStackTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewBackStackTest.kt index fb73dc5..aae8d28 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewBackStackTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewBackStackTest.kt @@ -65,6 +65,14 @@ class ViewBackStackTest { assertThat(stack.drillToDay()).isEqualTo(stack) } + @Test + fun `week number drills into week and back returns to month`() { + val stack = listOf(CalendarView.Month).drillToWeek() + assertThat(stack).containsExactly(CalendarView.Month, CalendarView.Week).inOrder() + assertThat(stack.dropLast(1).last()).isEqualTo(CalendarView.Month) + assertThat(stack.drillToWeek()).isEqualTo(stack) + } + @Test fun `agenda widget date tap backs out agenda then home`() { // openDate(source = Agenda): root in Agenda over the Week home, then drill. diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewMorphKeyTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewMorphKeyTest.kt new file mode 100644 index 0000000..b0c5a29 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewMorphKeyTest.kt @@ -0,0 +1,50 @@ +package de.jeanlucmakiola.calendula.ui.common + +import com.google.common.truth.Truth.assertThat +import de.jeanlucmakiola.calendula.domain.EventInstance +import kotlinx.datetime.LocalDate +import org.junit.jupiter.api.Test +import kotlin.time.Instant + +class ViewMorphKeyTest { + + private fun instance(instanceId: Long, eventId: Long = 7, startMillis: Long = 1_000L) = EventInstance( + instanceId = instanceId, + eventId = eventId, + calendarId = 1, + title = "Standup", + start = Instant.fromEpochMilliseconds(startMillis), + end = Instant.fromEpochMilliseconds(startMillis + 3_600_000L), + isAllDay = false, + color = 0, + location = null, + ) + + private val day = LocalDate(2026, 9, 25) + + @Test + fun `the same occurrence on the same day matches across views`() { + // Each view reads its own instances query, so the row id is no anchor. + assertThat(ViewMorphKey.event(instance(instanceId = 1), day)) + .isEqualTo(ViewMorphKey.event(instance(instanceId = 99), day)) + } + + @Test + fun `a multi-day event keys each day it is drawn from apart`() { + assertThat(ViewMorphKey.event(instance(1), day)) + .isNotEqualTo(ViewMorphKey.event(instance(1), LocalDate(2026, 9, 26))) + } + + @Test + fun `two occurrences of one series stay apart`() { + assertThat(ViewMorphKey.event(instance(1, startMillis = 1_000L), day)) + .isNotEqualTo(ViewMorphKey.event(instance(2, startMillis = 2_000L), day)) + } + + @Test + fun `only the settled page morphs`() { + assertThat(morphPageActive(page = 5, settledPage = 5)).isTrue() + assertThat(morphPageActive(page = 4, settledPage = 5)).isFalse() + assertThat(morphPageActive(page = 6, settledPage = 5)).isFalse() + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewScreenTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewScreenTest.kt new file mode 100644 index 0000000..538c7da --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/common/ViewScreenTest.kt @@ -0,0 +1,20 @@ +package de.jeanlucmakiola.calendula.ui.common + +import com.google.common.truth.Truth.assertThat +import org.junit.jupiter.api.Test + +/** Which screen draws each view: the timeline views share one, so switching among them resizes it (#184). */ +class ViewScreenTest { + + @Test + fun `the day, multi-day and week views share the timeline`() { + assertThat(listOf(CalendarView.Day, CalendarView.MultiDay, CalendarView.Week).map { it.screen }.toSet()) + .containsExactly(ViewScreen.Timeline) + } + + @Test + fun `month and agenda each have their own screen`() { + assertThat(CalendarView.Month.screen).isEqualTo(ViewScreen.Month) + assertThat(CalendarView.Agenda.screen).isEqualTo(ViewScreen.Agenda) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/day/DayPagingTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/day/DayPagingTest.kt new file mode 100644 index 0000000..ac37f9b --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/day/DayPagingTest.kt @@ -0,0 +1,22 @@ +package de.jeanlucmakiola.calendula.ui.day + +import com.google.common.truth.Truth.assertThat +import kotlinx.datetime.LocalDate +import org.junit.jupiter.api.Test + +class DayPagingTest { + + @Test + fun `a page and its day round-trip`() { + listOf(LocalDate(2026, 9, 27), LocalDate(1990, 5, 16), LocalDate(2100, 2, 28)).forEach { day -> + assertThat(dayForPage(dayPageFor(day))).isEqualTo(day) + } + } + + @Test + fun `adjacent pages are adjacent days across a month end`() { + val page = dayPageFor(LocalDate(2026, 2, 28)) + assertThat(dayForPage(page + 1)).isEqualTo(LocalDate(2026, 3, 1)) + assertThat(dayForPage(page - 1)).isEqualTo(LocalDate(2026, 2, 27)) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModelTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModelTest.kt index cb3b8de..8ee8926 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModelTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModelTest.kt @@ -340,4 +340,71 @@ class EventEditViewModelTest { assertThat(fake.movedEvents).isEmpty() job.cancel() } + + @Test + fun `setTitle caps a long paste at 255 chars`( + @TempDir tempDir: Path, + ) = runTest(dispatcher) { + val fake = FakeCalendarDataSource().apply { calendarsResult = listOf(cal(1L)) } + val vm = viewModel(tempDir, fake) + val job = activate(vm) + + vm.openNew(LocalDate(2030, 1, 15)) + advanceUntilIdle() + vm.setTitle("a".repeat(300)) + + assertThat(vm.state.value?.form?.title).hasLength(MAX_SINGLE_LINE_FIELD) + job.cancel() + } + + @Test + fun `setTitle refuses to grow past 255 chars once capped`( + @TempDir tempDir: Path, + ) = runTest(dispatcher) { + val fake = FakeCalendarDataSource().apply { calendarsResult = listOf(cal(1L)) } + val vm = viewModel(tempDir, fake) + val job = activate(vm) + + vm.openNew(LocalDate(2030, 1, 15)) + advanceUntilIdle() + vm.setTitle("a".repeat(255)) + vm.setTitle("a".repeat(256)) + + assertThat(vm.state.value?.form?.title).hasLength(255) + job.cancel() + } + + @Test + fun `setLocation joins a multi-line address then caps it`( + @TempDir tempDir: Path, + ) = runTest(dispatcher) { + val fake = FakeCalendarDataSource().apply { calendarsResult = listOf(cal(1L)) } + val vm = viewModel(tempDir, fake) + val job = activate(vm) + + vm.openNew(LocalDate(2030, 1, 15)) + advanceUntilIdle() + vm.setLocation("${"a".repeat(200)}\n${"b".repeat(200)}") + + val location = vm.state.value?.form?.location + assertThat(location).hasLength(MAX_SINGLE_LINE_FIELD) + assertThat(location).contains(", ") + job.cancel() + } + + @Test + fun `capLength lets an already-over-long value shrink`() { + val overLong = "a".repeat(300) + val shortened = overLong.dropLast(1) + + assertThat(capLength(shortened, overLong)).hasLength(299) + } + + @Test + fun `capLength never splits a surrogate pair at the cut point`() { + // U+1F600, a surrogate pair, sits right across the 255 boundary. + val new = "a".repeat(254) + "😀" + + assertThat(capLength(new, "")).isEqualTo("a".repeat(254)) + } } diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/ContinuousMonthIndexTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/ContinuousMonthIndexTest.kt index ef2c56b..71e9df2 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/ContinuousMonthIndexTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/ContinuousMonthIndexTest.kt @@ -222,17 +222,17 @@ class ContinuousMonthIndexTest { } @Test - fun `the split selection follows the month, landing on today when it's there`() { + fun `the split agenda starts at today in the current month`() { val today = LocalDate(2026, 6, 10) - assertThat(selectionForMonth(jun26, today)).isEqualTo(today) + assertThat(agendaStartForMonth(jun26, today)).isEqualTo(today) } @Test - fun `the split selection falls to the 1st of any other month`() { + fun `the split agenda starts at the 1st of another month`() { val today = LocalDate(2026, 6, 10) - assertThat(selectionForMonth(YearMonth(2026, Month.JULY), today)) + assertThat(agendaStartForMonth(YearMonth(2026, Month.JULY), today)) .isEqualTo(LocalDate(2026, 7, 1)) - assertThat(selectionForMonth(YearMonth(2025, Month.JUNE), today)) + assertThat(agendaStartForMonth(YearMonth(2025, Month.JUNE), today)) .isEqualTo(LocalDate(2025, 6, 1)) } } diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/MonthLayoutTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/MonthLayoutTest.kt index 2cddeae..a38c258 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/MonthLayoutTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/month/MonthLayoutTest.kt @@ -163,6 +163,18 @@ class MonthLayoutTest { assertThat(week.spans.map { it.lane }).containsExactly(0, 1) } + @Test + fun `multi-day bar is above a one-day all-day bar on the same date`() { + val day = LocalDate(2026, 6, 10) + val single = allDay(day, id = 1L, title = "Single") + val multi = allDay(day, day.plus(2, DateTimeUnit.DAY), id = 2L, title = "Multi") + val week = layoutCalendarWeek(weekOf8th, listOf(single, multi), zone) + val lanes = week.spans.associate { it.event.title to it.lane } + assertThat(lanes.getValue("Multi")).isLessThan(lanes.getValue("Single")) + assertThat(instancesByDay(listOf(day), listOf(single, multi), zone).getValue(day).map { it.title }) + .containsExactly("Multi", "Single").inOrder() + } + @Test fun `single-day timed events stay pills and sort by start`() { val late = timed(LocalDate(2026, 6, 10), 14, 15, id = 1L) diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometryTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometryTest.kt new file mode 100644 index 0000000..9dd729c --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/ColumnGeometryTest.kt @@ -0,0 +1,107 @@ +package de.jeanlucmakiola.calendula.ui.week + +import com.google.common.truth.Truth.assertThat +import de.jeanlucmakiola.calendula.domain.EventInstance +import kotlinx.datetime.DateTimeUnit +import kotlinx.datetime.LocalDate +import kotlinx.datetime.plus +import kotlin.time.Instant +import org.junit.jupiter.api.Test + +/** The timeline's columns, standing still and mid view switch (#184). */ +class ColumnGeometryTest { + + // 2026-09-27 is a Sunday; the week runs Sun..Sat. + private val sunday = LocalDate(2026, 9, 27) + private val week = DaySpan(sunday, 7) + private val monday = sunday.plus(1, DateTimeUnit.DAY) + private val day = DaySpan(monday, 1) + private val width = 700f + private val gap = 7f + + @Test + fun `a page's columns follow the pitch`() { + val slot = week.slot(sunday.plus(3, DateTimeUnit.DAY), width, gap) + assertThat(slot.left).isEqualTo(3 * 101f) + assertThat(slot.width).isEqualTo(94f) + } + + @Test + fun `the ends of a switch are the two pages`() { + var p = 0f + val geometry = ColumnGeometry(week, day) { p } + assertThat(geometry.slot(monday, width, gap)).isEqualTo(week.slot(monday, width, gap)) + p = 1f + assertThat(geometry.slot(monday, width, gap)).isEqualTo(day.slot(monday, width, gap)) + } + + @Test + fun `days off the target page end off screen on their side`() { + val geometry = ColumnGeometry(week, day) { 1f } + assertThat(geometry.slot(sunday, width, gap).right).isAtMost(0f) + assertThat(geometry.slot(monday.plus(1, DateTimeUnit.DAY), width, gap).left).isAtLeast(width) + } + + @Test + fun `a switch covers both pages without a break`() { + // Focus on Saturday: the six-day run starting there reaches into next week. + val saturday = sunday.plus(6, DateTimeUnit.DAY) + val geometry = ColumnGeometry(week, DaySpan(saturday, 6)) { 0f } + assertThat(geometry.dates).hasSize(12) + assertThat(geometry.dates.first()).isEqualTo(sunday) + assertThat(geometry.dates.zipWithNext().all { (a, b) -> b == a.plus(1, DateTimeUnit.DAY) }).isTrue() + } + + @Test + fun `a bar spans its extent on each page`() { + val tuesday = monday.plus(1, DateTimeUnit.DAY) + val range = monday..tuesday + val geometry = ColumnGeometry(week, day) { 0f } + val extent = geometry.extent(range, monday..monday, width, 0f) + assertThat(extent.left).isEqualTo(week.slot(monday, width, 0f).left) + assertThat(extent.right).isEqualTo(week.slot(tuesday, width, 0f).right) + } + + @Test + fun `a bar only one page has keeps its days on the other`() { + val bar = AllDaySpan(event(1), startCol = 2, endCol = 3, lane = 1) + val from = state(week, listOf(bar)) + val to = state(day, emptyList()) + val placed = morphBars(from, to).single() + assertThat(placed.fromRange).isEqualTo(placed.toRange) + assertThat(placed.toLane).isEqualTo(1) + } + + @Test + fun `a bar on both pages is placed once, clipped to each`() { + val event = event(1) + val from = state(week, listOf(AllDaySpan(event, startCol = 0, endCol = 6, lane = 0))) + val to = state(day, listOf(AllDaySpan(event, startCol = 0, endCol = 0, lane = 0))) + val placed = morphBars(from, to).single() + assertThat(placed.fromRange).isEqualTo(sunday..sunday.plus(6, DateTimeUnit.DAY)) + assertThat(placed.toRange).isEqualTo(monday..monday) + } + + private fun state(span: DaySpan, bars: List): WeekUiState.Success { + val days = (0 until span.count).map { span.start.plus(it, DateTimeUnit.DAY) } + return WeekUiState.Success( + weekStart = span.start, + today = sunday, + days = days, + allDaySpans = bars, + timedByDay = emptyMap(), + ) + } + + private fun event(id: Long) = EventInstance( + instanceId = id, + eventId = id, + calendarId = 1L, + title = "Event", + start = Instant.fromEpochMilliseconds(0), + end = Instant.fromEpochMilliseconds(0), + isAllDay = true, + color = 0xFF000000.toInt(), + location = null, + ) +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/FocusOnPageTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/FocusOnPageTest.kt new file mode 100644 index 0000000..96e5025 --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/FocusOnPageTest.kt @@ -0,0 +1,40 @@ +package de.jeanlucmakiola.calendula.ui.week + +import com.google.common.truth.Truth.assertThat +import kotlinx.datetime.DayOfWeek +import kotlinx.datetime.LocalDate +import org.junit.jupiter.api.Test + +/** Where the focused date goes as a timeline pages (#184). */ +class FocusOnPageTest { + + // 2026-09-30 is a Wednesday. + private val wednesday = LocalDate(2026, 9, 30) + + @Test + fun `a page that still shows the focus keeps it`() { + val grid = WeekGrid(DayOfWeek.MONDAY) + assertThat(grid.focusOnPage(wednesday, grid.pageFor(wednesday))).isEqualTo(wednesday) + } + + @Test + fun `a week on keeps the weekday`() { + val grid = WeekGrid(DayOfWeek.MONDAY) + val page = grid.pageFor(wednesday) + assertThat(grid.focusOnPage(wednesday, page + 1)).isEqualTo(LocalDate(2026, 10, 7)) + assertThat(grid.focusOnPage(wednesday, page - 2)).isEqualTo(LocalDate(2026, 9, 16)) + } + + @Test + fun `a run of days keeps the focus's column`() { + val grid = DaysGrid.startingAt(LocalDate(2026, 9, 29), 3) + val page = grid.pageFor(wednesday) + assertThat(grid.focusOnPage(wednesday, page + 1)).isEqualTo(LocalDate(2026, 10, 3)) + } + + @Test + fun `a day page is the focus`() { + val page = DayGrid.pageFor(wednesday) + assertThat(DayGrid.focusOnPage(wednesday, page + 5)).isEqualTo(LocalDate(2026, 10, 5)) + } +} diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekLayoutTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekLayoutTest.kt index 32c6c37..3c30d2d 100644 --- a/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekLayoutTest.kt +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekLayoutTest.kt @@ -49,8 +49,8 @@ class WeekLayoutTest { } @Test - fun `weekRange spans seven days`() { - val range = weekRange(mon, zone) + fun `spanRange spans seven days`() { + val range = spanRange(mon, 7, zone) assertThat(range.start).isEqualTo(at(mon, 0, 0)) // endInclusive is the last second of day 7 (Sunday 2026-06-14) assertThat(range.endInclusive).isEqualTo(LocalDate(2026, 6, 14).atTime(23, 59, 59).toInstant(zone)) diff --git a/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekPagingTest.kt b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekPagingTest.kt new file mode 100644 index 0000000..0480c9f --- /dev/null +++ b/app/src/test/java/de/jeanlucmakiola/calendula/ui/week/WeekPagingTest.kt @@ -0,0 +1,81 @@ +package de.jeanlucmakiola.calendula.ui.week + +import com.google.common.truth.Truth.assertThat +import kotlinx.datetime.DateTimeUnit +import kotlinx.datetime.DayOfWeek +import kotlinx.datetime.LocalDate +import kotlinx.datetime.plus +import org.junit.jupiter.api.Test + +class WeekPagingTest { + + // 2026-09-27 is a Sunday. + private val sunday = LocalDate(2026, 9, 27) + + @Test + fun `a page and its week round-trip for every first day`() { + DayOfWeek.entries.forEach { firstDay -> + val page = weekPageFor(sunday, firstDay) + val start = weekStartForPage(page, firstDay) + assertThat(start).isEqualTo(sunday.startOfWeek(firstDay)) + assertThat(weekPageFor(start, firstDay)).isEqualTo(page) + } + } + + @Test + fun `every day of a week maps to the same page`() { + val start = sunday.startOfWeek(DayOfWeek.MONDAY) + val pages = (0..6).map { weekPageFor(start.plus(it, DateTimeUnit.DAY), DayOfWeek.MONDAY) } + assertThat(pages.toSet()).hasSize(1) + } + + @Test + fun `adjacent pages are adjacent weeks`() { + val page = weekPageFor(sunday, DayOfWeek.SUNDAY) + assertThat(weekStartForPage(page + 1, DayOfWeek.SUNDAY)) + .isEqualTo(LocalDate(2026, 10, 4)) + assertThat(weekStartForPage(page - 1, DayOfWeek.SUNDAY)) + .isEqualTo(LocalDate(2026, 9, 20)) + } + + @Test + fun `dates before the epoch page resolve too`() { + val old = LocalDate(1990, 5, 16) + val page = weekPageFor(old, DayOfWeek.MONDAY) + assertThat(weekStartForPage(page, DayOfWeek.MONDAY)).isEqualTo(LocalDate(1990, 5, 14)) + } + + @Test + fun `multi-day pages begin on the selected date and advance by the chosen count`() { + (3..6).forEach { count -> + val grid = DaysGrid.startingAt(sunday, count) + val page = grid.pageFor(sunday) + assertThat(grid.startForPage(page)).isEqualTo(sunday) + assertThat(grid.startForPage(page + 1)).isEqualTo(sunday.plus(count, DateTimeUnit.DAY)) + assertThat(grid.pageFor(sunday.plus(count - 1, DateTimeUnit.DAY))).isEqualTo(page) + } + } + + @Test + fun `multi-day pages also work before the epoch`() { + val date = LocalDate(1990, 5, 16) + val grid = DaysGrid.startingAt(date, 3) + val page = grid.pageFor(date) + assertThat(grid.startForPage(page)).isEqualTo(date) + assertThat(grid.startForPage(page - 1)).isEqualTo(LocalDate(1990, 5, 13)) + } + + @Test + fun `a day page and its day round-trip`() { + listOf(LocalDate(2026, 9, 27), LocalDate(1990, 5, 16), LocalDate(2100, 2, 28)).forEach { day -> + assertThat(DayGrid.startForPage(DayGrid.pageFor(day))).isEqualTo(day) + } + } + + @Test + fun `adjacent day pages are adjacent days across a month end`() { + val page = DayGrid.pageFor(LocalDate(2026, 2, 28)) + assertThat(DayGrid.startForPage(page + 1)).isEqualTo(LocalDate(2026, 3, 1)) + assertThat(DayGrid.startForPage(page - 1)).isEqualTo(LocalDate(2026, 2, 27)) + } +} diff --git a/design/store/raw-tablet/01-week.png b/design/store/raw-tablet/01-week.png new file mode 100644 index 0000000000000000000000000000000000000000..37c838f20b038fa7c7a5b718a5ea411d12117743 GIT binary patch literal 164387 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
La1w+`ta6+z(JV)90d+!9%K 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%0AoP<{C;&85s95r!cq<9=e2F=Cx>xm$v*p_TUm1 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�TQwOWHPE`71*)@el7R!9A5 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 b{l{thiG(PDCf-EeyPm^(!`rSwfTqq<<=H< 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

hCshQnEp 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

j1e5x++ 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

vGtE-_qFRb*=M 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


inP<&_EcF^RA+AU-C)LgG79Mn2?+;JEf93n zeezbSY^BlEbo+cMQ!smA;DyvcnpDK$)Z<|TRv@gx_?kaAx$g)vl z+IsMLc-sEH7618KYIX4Y%IWiVIai9zLbdz%*HzC}qa2K<9ZV<6q)KP@k)#G3cTGnJ z*=44g3O&?-nkRh(e`vyL#tXkMDRF9 z(`B7{d1*;(`vXMj2QL&~oalUfU+UV_(e?CdH#h6s)9}dn$g~2NGe&oYU3@K<@1vHJ zCFY|w&KFctrL#6Zc+4u~5$#kylnS;}mOdFWu@q7c``NV1IvTprt=C!H+eZ$?rjs^O z1L^o$IgYM21$Yl*$eP0t>c&}qO*JI+Q>1%>y&&&4@kwFQ^}{}9`u5~Wv+CzwNM7M- ziUn2JQDA2SgH(%dAKU6$Y1h+5GTqWvahp1b)gPTUb<+_CN_4$GQ?0U4NV?gwam3NQ z4aGZqNAxc*FQ51G+e(M8bjRh^3LX`im7nQ%$39jT_Y(i1n%8fSRd)-Vw`l+bPA1c2 z$+K|0uB3vktr^8>n@Wwx`dy(^>`$KLR8}(n9Gl^HgfGQsQXkvoitElu$7hP7BH_1@ z0dK&%F9^kNdq)fcz46AmmtVC~KWL|Nm$PD{gE1-+9D@d7G6Tx9_(1|;#?R|+-{GA4 zg0fSqg>iZ9lAf7)#M7f+Xta>#7oG-))}Al%X$?BW#pq=$uw~8jVYhcTifY=vm4tzr zIe6*|oOUFEnZ)SmFp^njW~QWF5yV=7&Y4Q)dU-Q6Gn1T_Ms;;aE6BfSr(N`A2-hHQ zHPK!+{5)?>z~L~9>Ya&#LIERv2q`aNSwcdBbBpC-OVFLE{G5EHH*emkw4gz$&$GBq zAH^Of8w=u`fqgmY@BlY*Acn~8lJ&P2yaLX*2e)lD`;tAv)5Z%|+unZnG%kZ!b3Anf zE}LG;8BLaKe}1IrFL2Z@w|3^rM;2QTs(2h9n4g^+MTLux-)UCbxo(}4oGg6T$HUYW zjvO7({74B0|3#H+jZ-ZTIvrC}Q}@ZeJ%gJ2R5Vn`X0|rgo;sja8|c7%gu-x*BqFvU zO#84l)y%-}`lunE8`h;=8_K{ub zAh!hy|BSr4netdG3Y0pn4O9&R?qvNZ<9DGj&d9GCr7j6I7uCDjxw&c@8VTW4mHe_d zX9?z;1JcYv9d>ZqPj1ts@{@+R?B#0ZfESEv*;efzINh_2z0e{Bo6Z%O-AOV&c`ym#Moh zyOsNARTV26#wnZ@z!4$o00}(-M$^^)XzjpA9*{MHm-QzoUunn!dsop$`ydF_RTcqi zpdAXNnFPkW_vd1wnTanM85u%*NmSjj{AvOC3MTN-Jf4X}?diU>!`0C!5M$ZAyH%8b zGUq=Z%LVE4{ZBPiQdWT3&QIIsdL%SL$=z8p`qrsp3E!F&Mto)!halNWMouif1uB#R`O7_5yh=gmG%B~;m>m-tqX?& z4rO&que)U2DHmjAT1-q#6Girg0v6+XKt{5PsK8;SwnWGYq~q3JjRH>D%Vn8suiA0F%xhReTOHP z@KV;a7eBdNB9$75Qr1j1cUg>k6nByD`uw@novEFztrzO*P6e&JJaVQX5ixVVb%t=- zhxeZWYDxjx{x523h$;pG7Vy<&ho8wPALi=dNaz^{o5I5_Fz_LXDDB4%tN9>&O4chK zUSc|#j~1;yX5b3e4A1W60hN^6jQwih!3e+~cpb!xJ2pHVlREYSd}LL&oxY}P?9uU1|jlf$LC>##cl3Y8RD z?X?4t9$7Us5LcY%XVCGse-_Dz?xXed&4N*XT*g8dE+POV{#(a4tJP^>p^p}4$VOGk>$yqup5D*aXVW|!4`R6C^>TDo4cQ1#YwD=B~t3qJroSV4TpW&~SGVUxslO}i( z-pDq$xb!6OEf+V~Mc3s_+F>z>lS-=6W(&RZ)a@xSsThH$*q_FV9UbimL~}?MA)WkiDqnC zw{r>#b_=T;!?G@1PuyU-VDxwRc@gj!Q091fcnFM;1&#GrtntHnW4BYhZKplqxfh~rMR^>oCQz`sE5MY_Wq5sQg`TwG6|5xLUBToh03!F;%c(tNRO)7_8QQPx} zxd4~GV=U7P)%>o-m5xW7k77|XFmfxamr1}00TDKl#n~0@)FGqz8Se0PYdUOkkrDcX zTb5E4x=Noj@Tl(Q*767GsXChkl#G(RQk3-I6EKgFK!s96nst@T-g>VD$7W&RF!dE3 zS~hNk*gt_h<;qt3v0?5(oSk@@R5)^{hJ^kP=}ZjMDybXJ-9`nw;iIAw2trw1coD?0 zdmXXiIk#8!jJrG|eFc&LFG4dmDlINWF{@P03$>jLnBO9W`aJAs6o0t9fy~|b%lC3)o8?xTn)duXQ43&JUA($Eaii9%`j_h{cT3_?yLHHA-i2hl}3pt0>h3cmm7?4CULU(I%=3W*vQ#@H2Y|IEmvknZU zV7|!ub?)adce>~2eq-gTf>gB)3IPF#pqntbBs;%Iaj~~O`ib2iUWSA@&0>+70b9y` zu#5c@@MT%Em}2etq#&oSWT50$@GZza)COn9|L&?;*Z)QJOcyc>Ou&bmN!qj7luFeC*<58kR3f!Rh zTYReF$I-T-AYiChzw!ilUHkD(Bu1l3zHPHWV&nB66mu9&Z#&ik$Kv6Z6Z@0~h~;9+ zTwgmHo8m}--AAX5dE<~x53J~6M>=9Fkxf1_BwFbQf!>d?k{IbE5P8+db}hgJB_vqS z)GEHypi;s?@yys~L?AS5K7Rbm1uDXNR=EulP};!>NRtX2ryQJWM#qwGs35mN(*h!= zPNd&fSY5#VpB1uy7kdZ=`jYRL{z&FUMF4NguV`mCjPoz4pbJEVEGlw>>q{wN9jBy> zu|JfbfP)zem(;0n+Pa7lwcAG;3Iw;IIqR^t*`L5e%l~EsjRGzTf7 zmNbd;k5|TA>iw!{>=J}R!Sf$#K+Mq%3rptOfgkvk13jNE!Q7_s$a6>Ow;Vu^isT*r63&;>bXfJJSj1xkg;jh&Y1WXrLSR9;m5o8GWrE_yIf5V2v zY-30=L+@xZ|3`N=dwLMhSl@#JxemGD!G({y-M!Lx&&$0hB)Jj`GcPzuMguN3k4i&i zmGx8ddO4nJm^qt2&%VoHz0ryvGFt9M?{Vz-E%{~bjGYV$5zo=we*5Rp#6E*c=2GRG z$~_hN#VTE=3KxfQ#31P)vZ89NJi&>tESJUw89|n7EM$opRF!%_bTvi3&q!Nuxc`nY z;_au_&6ncNrAp=nqwf31UoKQ0J=O@I&185y&McK<{^8wby?)+w|H-jYp?^fNiH*0_ z;G!;v)N@njZ3g4PfZZYQL&EFXJJf_p5nmi{T*_uG<=US2DHkwBQ_iH|bBwN?1+jxR z&j(s-xW36J-oxX+?69n^F3s+>;e6OVxX_+my`wg?xS8jpy0oq^JiEQWQOS6Maxj32 zghrcgxc(JgYCx2QY*iNxy?J;jc}1gj==BVFQYX_zj4rhtQ)p`0P5I$^e9*Shj6z0! zhs0S`I6tLSdxX_8UHfh6i~3jB#sP$-kw*KR(Vd^CPNs&ZXYx`*s z$%_XtjK_u#?ZEy3O021tP5?(Pmj26uONcXyY8 zxy|#w-;evPyY4isVT?Z0r)pQ#uI{s)RM^Zqi4$n~DV@d*$ObglihJn-XH+%m zsgWe9hLs;77r|pPgp(G8VVbwGN8@LD3PQi~DOQ~FzFl~MX5Wax?oK=#knnLcMg&Ym zO+9}t5Jv#0Rxz==h)@z@faLV!43yczHKwLp%c_GqXRbNBDNQQdTbD;yZyGTtO)qRJ z&%98aXlRjKJD`ChYf~9KA?~=C`!S3gp zp%*CCY)^xBug^`zASl_-O*X{b zFG(Xjq!H73XZJ0o_V6I|Y-XFx)6NsaAB!(B2bEan?+pYm>$mWxlDZUGz&;z7XLP zSHt*JnHrYa#kTT;?Db~}r4XWI)$Q?Ep+FMPqB}TOz@WSiH+hp}DA>SF+qd`1(HVsj z@aS>dbh+w{MJe8AZ7gM&jRT{3*L~{TS z{8kL^%5-;PqMMfhkJ~;uHJrkp0FQt~pw{Wnogm7kyd$a}iPnSXHQ8 z6*c{Yo;AyXpZ1BK9<@n9HafLwyVqGIfAd$fZCt5XrQ z^C4My1P~eeYyIYD$y8288N(FM&dWJ|0{c0#1AT?uU5l4?8hwSg^TMC@Lk}ln`se$w zukOb!=5&K{6Vq>yoBu=DD@VczHU#Sm?)l7}m_F1-J}V8S1ZUMci&GeXn;XE0o$Hwj znYy)P9(Q)UpuQ^6$xX|Rdm~?cD+)pnJlNt*9|wnCXc1aL3Kx;cFamr$;uJB;kwhH1 z8JLWVBT12^L%U%L2}31qqA04N({oD~56|O*n?O z94(Fu5~$3wp?+9uQi0(D4GK3lCou*>;nDBZmg@w(#3NJc__w;?8A`pz^OY}shY zJdhrh`{!*il#!b$!kC2EYBvO@tf$7%*-}R^oL&ut^iSOr=mqd;0EJ_gCVF`OD zH0@=ay?r?T$JL0>?(m}0O0N&1mmV^*3;OS zH-2NU<}LSSS;4WHx$jw6yb}{`v#RPXfK$C893E8>XS;$G9i);}oH&-=k&#f^XamQk9a&FtNN>tVj+R9LB`CNp>p zzBx@4NwH2og68Zkeuc$t|6fqm&1lE8y=qR2#`G~Im0_oTqc8J^H#*8LpJoE zCyX0f_`?oNq&CuzajN1wL&80(37n>--Cc@>o3N{3$FAYy4xElR z<6WXG%s~9MIk84fMUBdBtEiYvH?Xqr)^Hq1^@aXxvyFz*bgI?P!pqkDczwmU3~5)E z($215rwv_bEeWra|M=O9Q_Y+K^l3Rt@ClBw(Mg51 ze`YzWhHDGxp+y@?Nhr_uu#ibuAr!wm&e>9LX)H;OZT%@!apGY`jWpQknom~bHa8Ku zgfY0MG&S2*1uWBOJirP>@uF(a^@no05s*;sL5puiv(17Iy<2ltKAg*k5TNx?1=XUI zkW6D!jcKdY#@~~EHN89rnu**B-K?619-yDt)<#$1upXn8lSDU?1+l<2AC4~iUH%;@ zwJcGbCF0#r%WYOJv{(LsnZU=chpRMLs;WreCWjpm#~~ykbzM5&gx9E|R96AjfahkL zzguw=Ar%v(cAnAM4Zl}?PDyz z>}sVc&@`o8f%pv(^`fYjxGF!?CYD&#J6l_(Dgz=$yEJ@vDscxekc!(Ip{tsx*~F&%>xhY3!_I=C+vKslJ&;Hf+v_{GicP zTQdW+M`-?(PO_+&wM(M*e)($m1GtGdIq76PE{6GL(%1c@*i20}T1QQ8bh=B67F?aL zlaY~75E3#~Q`9VKLv#TueA?XfYd`B8*b1K7bXxf1`0Qi?u2roaAcNjPFj*X8(;2@s z>B9!dGxmbu$7+9@&>OX!$d|l^c6-6I<7Ac8(ng#D8bZjB*BR$>ahFQkqTT&)YN^Eq zE&(NZDh(q&eQhot(f689$P!yBgp${e#9(iT%ci*e?BV;DC2Y~D- z2l_VV^3ghvtCS!GyQ0V+{e;hZR~<-ofr#)eVy<9Ce2L9O$extXzYhTK$9;IN_qOf+M zNL-I@P9_1{w0E9Nqs&-k+U1}DZD#RbfrJtY@nd%tugtJZ|JKcct5rg}wp!7hBmxL3 z6+?h1@_o;UlH&N&TWXR{H=K9({boE7)Y z7&}thY6>)z_y?>p8Dy@v#I~=Vyha;SG5}JLePKf}ti4NzP5x#K#2_V^rHI0&a+MQt z^Eh6v3bmA4;Tdz!yU0eG6vL{-xX6t1YkzV{qPZs#xvh9br`VZ+_*41b&W|b;t6AYW zPJ^wE`HCiCCoZA<6>=kIaYbfNAGipY3}r%N3_NQmapSHZJl4$*<)4?HW^^^bR!o)M zH?!t3d^>PZ>G$p3c50kaP^C{L+gg+u5aw z%WB-!+cq1@SG@amCFn#{lEACmlX1__6=`bIQNR}l3jJnKPsLaT00auI)oKtup_AAdmb@( z%*=lkFxJ)04cgnGp=Qwq4m%w$-1Dt<1x03ea>GwFK2kLr ztP~UZIU_6f?#)$N!;2a#`8JTJ$oz1L>0nw4|LH#YC5+uLX3*zFH-Bn^jPy)1jUe|O z`QO&5F_=`+JZVE)GuScA;Fe;Uqj2_vE~PQZ)_i!ea~zw~K}>ZOwhfxs=e|eugx2as zXufU7yz&aOz*#7J1+n$?3B$3HR9(T`GiX^e>nPvkV2_mQ0Ia_*zm##Bv;tmKSeZR) z)wAKvXP~El1w?ROl}g*1cDY0nlDo4@8GGE*+J1TZF?8#~_fhuQJqJ|fJp^fPzk2|d zW(9(PwL`=0oqEtk5A2P*zFJs%vvktLjunxhLenOnZ23_XyjWjW<3Dz4N52nHnQ5awtr^L+#D z0xi}B=*HFx?8stso5mc&z)UwpWXGhpD7&?3%;1}GOf8Y+gpmV_)5LHnzg(?0kN^N5 zb|$q_a(S<&6>w-EW$*N)VgT!Z8LiAop?f8%So2d~a{V_%0)K%0`PdxeT|u6-oE{9=C&pvAeF9}d4H@-j%8d7l!`_SDc)ie^AfrdY6n++C0n*( znl7YjVx(FZ&O}8jK{&uv+pVyG6mJPXDV$0z z>7{niu2QuBIIXy{u*XCZA^{{^7MJjD$^SSDfWj0hq}nK?uK4kL%(AQ;Y0LFVT3dqo z186j1L4OirL1{WuQDlggK zs6+Ca(&d|wn|r$ZNk{WD0!#eLMyyhwL4&ai`U)IS6k~y62j%H-=k{^bw0id+G&m}+ z=fI1f1T`aNkxV+UN3j~gC zJ1d`I;2=V2@X|YN(vN=e+DdJo!wr|2X|qYq85=#&Np;O^RZ1Dus`0eXZ}pVT>do)X zSXIdY3U0}WI`f^t{DVBXky*7d>R7UqinH;tS&ZfuB3pI~o(n-H%9G(Q^ShX|wfSV} zk3P!>*Mmnfjj6x)HlmXbxIyO0jj6h2tImfs4KbwUO-~x9jY~UYb=#j*_lCzpl_Yfi zG`W{waf_rvjwhmK(306~AT-oFqFPg0^GUa5nIywFLhke?>poYMGJe9_!euHlWZ^g1 z)ZTnuL`ub=&KugPu=3zc==wz9WD3gb_M`6z zQsP6Wms<8fPR*?&lqyOQbKR%X=d>m;_*U!Je5vuuW5*XK?iS64Ms3;`jeMCWNCbJW zhU1EVgUR*G6dhEd&~Mn)t(l*%HeX1u8C2(eG5m|IrqPfo<@y0LV(l*CYvbL)WV;=k zjO^=xULM_d{^@CnRmo5Xsg`N$l&|sXW1=We?RN-9XNQz@{;S}h^G>)a!ofy9{P{?p$F0fa=ZS+zf-vt+F1>452g9g zb8hmu?S6n3?!suJut|WnENHCZP^C%%^`R2iro$$dw6gCUXUWm*h;dh|3n)Y==% z%ceJL2py|6l5?xLr8^@{AOo_lSar_xcpPFQCmJtXuqR0cKzx`kg1khgK(=YU+Ki&n zuXM(Y^QMVF>KqK-n^(4NI44QGYrfwM;M*t)egW60;me4{OmKRrTfVFr$O*t(Q=+VG z%3^IbHuAk*q;sdPZ2CX03;F!mK0^}NAJCZ)e@+T zdTLJ3+*1gYJGl{jaq+Bq^_1pI=f~1VeiY4P{BAKrdq6IlJ2`Ffy8BHT$gyIub_PBe z>dt)^69d}=dYV<)_s_7NNnSfsc8CLQ~F~4NBJ>L|GKPQx!{%JJIudN+1kBcySrLX=rexkqjfWe`-x_<-6?Z zIY?gVtL=`yo{Ny3Bi};M`*P<K!i{Nqkmmw zb*d_xtOH~f=4u*eo&HAEkQneSNzD1p8HYK@tx1#TDP0+Q8*b)H%SjG(Mv15>o330` z(o)uZH=ukLgitCd9gr~GAGu&S8UD5GGLEg*xKG) z&#lQgRAzEg1K<51O-U_GmfEopD7>8LWUUtGavkzfo4ef#t<{q$Q+mjN0`!c}{nI}z zXfd6W`*BLO3XpNBee0i8vPq|jwd>ZZX=~OQIk8^3s#A*btdM)GAe1y@mH@uRJK6c` z>oNe$I*_4%AZJG<*UNW%X41g|Pp!~--}ZR?F{{GaD}ls{X^|4i%XhjIUW%>4(T?@S zN+9(ehTB!UdX)?3YW~)4y>346c-G7kgjBWFp#^kP$k(?xTCeEB2{1Vkrx=!K7sFaA zk4rAQg|^boy?dzy(4DJi(pqinikGXgf>vC)ijv923_6l?C-j**k_Fs*x7L3Rs%=dM zjmDu;leupLUjf^}IKFbJ%VlX*+?%W$wL^w7mwH%RcnNvshZJm9e5H#Vw?Mt?oiR2um&iPpQF^Gh zsx%cp**@sOAE6d@_ISm4)jaSF)lZdwK9rSE6#5m=yJjCWZ1*w--(!&Q47xq#X&kv~ zCVjcEX5cVOvdlcK=P`(TMXM`n>#7LvbU zw%M{xJ}|qQO?ApA_%UX_{izSu2kuSeryiq&C$7Fd_4Y8rG1zEa>*f0Nqt5GgxO@+~ zMBWu79hFtI4A=?HE$-wa)AF2#@cf%FyX61bW*K@-|7UA-6Tw_k?3vp?iT=@Pad*HJ z>awumG@{&~eM}TWERYd=(h&Ir4z*79Gu8n90iTKB!z>ZjtjT((5}yPqWfZclIxpT) z)vNT@U|K`{?cgwQfr2WTNs&vdpnZCn{bjb(uZY0^H_n9^&!Yl)dUaK!Xbbu_i*e|bllI$i~XMXU6r|(h7 z{r!IN-j$)?Sz}`+GVrg22t4fYA@yaC_cN|q1@>+9Nv*XKHSrO>JAIrI`wkPF!p!8# zR{6~Jp{&^{4W=H;{Na(>{9Zo+Z{8VeR2wb2EXn{>^g-Oi3h$qXg5eKozbmm-d20ri zEf9UgMqYVQJzTqi7dxELujVq%Qjw2{^sR5#eO5vkTE6KX*w@p*o>@o_YhwKAblq%p zRhfPwbiiEvB2dpnsXB7Dok{%gSSlLEz)n%iu3MT%26R%$p>H-_63&(*!}{p|lKw0Y zlVf=kX)V#GRa(d}W1yCXBpjpLY&-h4MKeHHi`mX3cN^?78W(4vsyFx$>!9gX5~mou zQ*75@V#Ke`t`=-}X?P^9cn$W(70Yk#XQ8dk8}xA?4k8`SA>``Q%9q#6?g}R`ST-KA zLNi8$8Le5`>SdrzQvPmGlt^U{p2L6oiT;-KF z@!IL5swR-Od3upq$50V-*jrD8#TVM8V2Enan8rrWYwtAZPd@FCm@Hd-Kn&QhMVM^t zdr8DRxe)rnmYia0gAHk7KS=$Jhi^l5{A`xiDK~Q$Pz)i?qLU&=C|59e@G{d51 zHH1ch$Bxsn$_%si2R3-PJJ>brhm*B|0n<0}iVpWm4*ECac2+Qm0Y6u1tXC;Y-X|&> z&MSU-Tvn~w_=&jj{k`JNa3eosT63BR_W%ecv;U)jz`WMuucl>$u7EFy%t+T@_`>H- z9%DW(M!RBIn8=1Y_IOSNV1b3L-Y@E7PF>DLxEu1E@ih(OOi3w2Opg#zP9E_M;yU3Z zt9Hi>a@B?L`Xa~GEer(Vf9aS47KX=#!NAn(iwWs+t2Z<~7T!5jH+lc{6h`(v^pSVE@RQ0}5SGhZo7c)VqeS2aUr-rwFH*WJx7 zK~~+oH_UliEJI~I7%Bx*Iv<51_EWcp^sajN9$YtE)6{SD zV+OV_9b@P{V9=j2JBNN%@#9#7g1>dXxx9#grBMG`59Z=4V)pv$3w{Ci~1tiBBJVY6Wr4k-@eF zR9R`ml%y>mpP*@AisrrVB&(IQ2ve({!nNPyHcZGj$xEZrzu&7>#*Z|T|7kcFV)0yF z|3vS|W$Rk<5zsc1;Lyre^Gt8F?rOT-&Zd&`N9*C%K5`K%iOw$4#sD#fsxbtGJjTsi zQV%N&5}WC*DVO)L=mCv8Pz|I_n&wkq?)R}m9_O`Icb3%_4h%NY*mOlRgf9O_VapU_iOPGw_UFWUQZ+-kIloyU5NFO>Rt}gJ{Uhdg8EERHJx) z%+8hO;@Q-;Go&#)PV0+P#Aq`*zPtDP>}xn}-RozN_!~iBElLc*I9lBYV#g=O%VT)d zmq$1zBI1>)?*0fnC^G~qF%!J zys4C)QTT_(V%~ZBn=gCi@A}aQ{s{k)PCxLIt_Yxy#==9-z2hfW2myJ#*_&ifn>0eQ)$Lh7sno+U|_g_TU7W|bljW*Dt#{Ijy~dV4?i*K97b?O$~8 z&{%JWw%Q`y#@{3V6|BSCdMk?|q$`kncuj9Vp|T^GlovR+>9h677`yO}Q?sYxhV21q zAm0IAn*>gK(}B{$$?Et=W++FfCBXdV*{U8KUuPe;Bf(?EKvCp1XA2yzgnQ(`2N&#B?!5q+C^ zzwL!fXUePnR;d-IK}9Uoc|KEqNM7DVi1EG99ugBZSDN`BhqOl(O36CIK24IkW@f~v zL>_Btu_&C${^i<$+Ze`H2iij9m_|K*;&u_viJF{+o{uEr&?_)u zF2WJh7lE2(F&}oq_70ELe!k$DbHe<$G)-o{JW7a_8B!Hxg;th|#6|1URi(*q>e_{m zR!!xKWD!LZB|r09u52!s!5Z2=yGe2Pi-G2wr%K|x*5$12nNc15#DAOgn2(e?lAL+a zZALm@-m#S5@Yrbyzney;27KUWkakOSu_z=g(E~e&S%PiJbUAh`xZ-R%CS-a&pK=hmYu%2v|6sZqz;1~nXp?vpgP(YX2MoRpXo zeFjLa85Vy%OFVFHv?BOz!=0sHixG?ggWd!?1%~-E%bUZ>See91p ze&yYN#QZfZ{bNeG^@|NY8h$i9E$SJ^H2K*y9a8EAPUK#L{WSUF^10d@9p%}3d7tZj z8Sejo5aS4x|1>G2lLWbANv7I!D0oTH_+S5OQM1Ii?pNJfZCfRB$O&MqoHdYOkJNn&?a?{nY!=rGk1ibMA3D}|K$(U zq=p^uzEmhn>j8{V79*MBn~zCwiVwrSa53A~WVDGhwsJ_fpnCL=MKEiQFweM@>$Ojr z>@?97C?6*dHRq6g@S|vHk5{{Wh)@HWfW_~W=zg20*S3YE8E~afks@!^&2=lT&?LbL zk512=(noM@Ek2EcTfRqp3nP-NlUaXR{ML+RM(gRZ08!ykG)qbB6=+^WgK@pOK$Wk}@y(HYx_#vF z#*37oXlE51TL&6tSi9~wlVs@DqasQTB<|pEw^=XuGexlx8t7ZKNr`U9hghxm>ROr+ zPwO3Te~`ZwE93WkOR@K@ILTenv_}`LXu!u5sOa$yaN1D4+%_^xqV13?O4Zlkn?@M_PGqV0g|s>-xOa! zytp?kOySG&(ob`GV6kAxr3~B(KOj7$@Z8{G5ajzN&}0>^y(hXDyT7I6LxT%jr;Ss` z0+ZiH!Dz<}OZey+e?+fMvp_k4F0ksS!a0K0UXq=i^oS9j`zC7XUK7)biEp(Po{u`% zuERiWgh*|i4YXrZWKMz3a0hq-`)iHW`axTqA@sb+HC{r&%cs>Mw{qs{XHPLYv!f#u6+2egTr6l!nl*z=AMPg z;G(rB1EV}h=BnjH;cagR$KWWt*;7t^Ovj$x9|;Lrd2ogO?D^6oTmSqSiy-#?X=!MW z52H*w7&echdDfyw$qMuSKHjhX!UlCXw#}-4g5DjXiR|yYpcAo{>SU>cA9NBDWNoAZ zPheTX+`fah8D=r-*5?g~$`xWOzFO(^C^er|sAZw6iH;~U=Z2_363I?O5XeQw$o&W0 z&+gq2ow%f7Ac(+Z8n_ZbuZPNW4bZIyI=h~({(%=c&x}KQPKBj1FjEF^Ty6E}C972M zz>l`&EKdG~JB-#>zkmdgxB8>Zj=LctwjJSH82RL!a1WX4u;BS#6{!psYlvp-c?Ip{ zX3Sl%1gBgEL0?n|W<3yPdaM!L#R@L+1WNyieEF%=;N3A2AID#(P=bNegrV^coZ^6%Qm_lEf%-H9oc)yTklo0OzeJmKl2Eyznd zt!|hwI!HEQQ$#4lMkwWN_)oOGcN zl0^5C;U}`{`d5eg=_&lN{wXkn8{uij+mzN`;d;Crn+G8q-20lr9jtS6vz6zV<-MkG z1;6dM*?P@1C0=v5gP)KxHqFnE|caCQm-&xtuKxa z(>{6BJ_Pk9KS)e|ewg>v!w)840gTsC#*JywTDapKOY$k5Z^L(#z@D&*;?%fz)pClC{mLkhUvvh+JnhG|H$H+0uZtqr2n(1hNwJxP}&(E;&UTs`XJJAaL$}Cq8T+B}D{#hi_ z-Z8RyU(!-kBKoF%mWD~=Nn897EozHS>HJ=pYE(6g8T8V2u^$)b!4aIoS+KOb_EVFd zAstss9*>oo_tMuqcK0u#yk;C0DWCEm(ib;aep?ek%jOZbDcP1*k-%t6yWg3O-+wdk zDt{oX)0~0yS@N^S9{y|T{d>2X9>IGxeAaV3=V`8LcD;XrYh1iZb5!2jkoMP-$e0lO ze$az9D@YmS4 z72A0!;;e714z*o`QndPRKHrzo@0+7+ew_4FqW{Co0&-ZaviyO?ES-M(XN})Nm={$# z{X<3c>>M_|nx)s`F?r<*llRtosawl%KU> zr3esdx|aZFjfW4!5aW4YeiO@R@`<$BZJA?XzDg&X3bJEQ*5+6-5rmFK^o3Isp#mHU zu39U^VZMT*_K$kxr%w)YbTE}(EHH-0rLs>O8VKxwyn&pH{-#LNy)VtTQ8vgm*L($< z&<6<$?Mi^S`1+djwcu%s7XY4FhSh7W_Dj2MVe$LFaKz_7koV^9x3cyIo+l zo{(javEaVqNm|=|2bs#lz!{G#%;LB1MEr1HgL>T9C=!vo@5W1+`A+Y*0_N)%=%Rv5 zoyv}oect6^Wy~x3h|8g`+vx6h!#Zh<)8=vV?YBprQd^Er{W>c(Y&KPCY5ayp(o*Lx z;qc8FqOB?iBi@)VpQ-lK0BC!o%-riafG$@nh$;EW0nf2`?Ry zEz=70f6~NQ3%uNPe?MN!099fFzbrfV6{Mx@;we{lHck}$&0M4rI(WSTt*arVdPIWZ zV!qW~n{mtyn((b|g~*D6sN1iE?9!n0eNP+{q}T|x@3FMLi5V8^>9UhO#+OtJALLW9tjcbqB9g7ufq;&a$*cC;GKUDr9kUqEAzUcwNe*$FDYbA2}6ubYoM!k@JJeyMsK9I+!Kz3w!isQ5+NR{^1 zl5u0~l%dC8mPdQ_lQ{~QYEbdl;6Y!tiJ~5{MpT8ML^uHnh$>68+mc@Hec7|DWjW(d zPz!!qS5bv6&zxCb;Y^@*%-h!Qh!r}zX&7D5=S~>*xT6W>a&fOBbb*%=v3cz`rYee5 zUkN`{4_%8#oSg1TZzp2i59o1p9HO@8#t3p-*poqO@odEV&-wJ8kv*Ct+~6{)B}roR*CSaWMJDSwoJZ803Sort&xNc1MsNGc%ITldcD#Q;$nm-X>5Y zR?DIbzLx?+uj8`j^FK}qU4#9{XK>n`vk(Le5FW!sBm48tQRRMZ8Y1MH!`mCHXoRTF zDB&7sLNF2Dh-eP3uKd|37|Xh=REw&tCIBi(fO-L#6(OZ`*sjt)tv%rxwCk6h?nStl zsKl&2MRSdQ%5Rk%@O#6xeRG`N@0MXx_t7xljL%_rPH-bONTBE#U7}4oV)4~uuG;Zf zCOnQm-5>3HL7e(!2=2>R&OQX7`BS;ym1`iNY`2u*dkOHpdjbn;LxwWG>!c#NKt;Zp zp?xp?vZaW~Of9)uhkF8jLFLA!H4 ziZ;Dk}^+T6j zsvs4fpUX5(3ay3QNHEZ*Fy92)6#IGq8{`{agFFNLmZN#-R88t@_MG6y1VnsOO_bTs zxb9;b^0jP)PyEV(S@9D0%YudpN52N=^cQ!9k4ji(uFP+D46c@j*6kiHy1$ylv-aut zjm2qX2Nr!tY2)~NT3xhs{g@AncT|&QYw&KcZs%twNQ?4g#( za~q-V>pn)$M+6g;N8x>5uHa;^hjF9g^HrM@|Gv}TgPDK9IPaqC3@EZ^D$9XurQ5yO zlI~0RdJqG;?oST{Aybw7L?_joFN@NU6|20+F?0%MYGr05R0kZ%kR$`@EfWui_JHqH zp~7+ak#vzO%{_*6U%EOm->+;-R?Ps-hV@H0yW)`mo0ojTHg4`{#?cd$&sgtxTaz$C zPJYuvhR)n=!T)s@PM2eYcsPu*8KwM>VCf-CXC6#HFSBeO`m?I%%~?k~5zK71FabxCBnuKNWw*8d{u)Nu&bhHhNJ-rr)j;3ZwY(zifD0i^o6AVh}L>UA4$SHAL-_PY$?_FQ34 zFKlLs<=!62j3ofK7@q6VPJV9&WGd48Dt_)cU?+Upo7wntvB!OKzpCVAE5eUurlN@G z=cC3Tvk4w5szAQF7jlL4zxT^xWWL@M3mL-f2Js2_=utd0eUTK6l#st(m)%~TK|HG` z23(_K-9}a)z>HAB5c%5)p3K1%vz^cVM(?+of3RKT-Hj~KD4d6%AO?2gx!v-<19^PB zjenC^rsb zy}!yiA~P8zVh5xrfsNmrJNc6#1=OQLz(esHy;i=g8_UrSu~^82H-H{M70tO6kVQQr z_N+!4z&}aDwMgMwB%LxOf0yUdIj{b9>@Rlw*4%3cMKl0C4^%_CL)wPgNsI?*`eBQc zhyZA@{2y8bGjV?~U@gmIX*&_w8&E*}_$F^;p>Q<@!5|$6(+iylDnZLzy_vE`D8fk; zZo$(u&lS(?U3+P@@E-1G^AP$PZzXAB(YD&Z4%CCUPm>dsU*`(e)2DR3$l;$q^Im|f zfllWq$SI7WWKkjn_Z@{hvFnQ-L-xtMbaPVe!}&GGsKI?BHX^KI0~~S~DnMX4HgjPz zbpEoNdYOS*3NB6jf_wh_Blj(;iKe^bulW7J;TQ<%ews;1z0=ymXnP)Elhzt=D zXGr6jR=cKynGb_wj7`Qday&4&B8n#nH~MKpn!kuUEU|W8|G1^z?N4k^jG*Q z<=(6Sy)8nUS2XhJ!|hxFxex$#0a~8>pRQlp2TuCj18b-&ko0@~u4X3pvoR=HnOkQT z<6BvdPT%*2+$!2jYYRfHFmOq%ZUfJ@cyAJLKkNNm<%;KhDWf0?SlborKMGXN`6FG> zDP)w@<@*Up=Mfc=u#8vywi0O8FTdc{{kihS6_A-w z=CY5>R>>BsZz5AzBMrRBN06A2u#z5G5h}(UK1m|XO;|)6?c-~UW0LEq>UxAuvEUU1 zZ8C{f@b&KFhfaua(66I)GRvhb7d}K^|F7?OyTJTbQ&K|-<37I#+i&CbEsx1bBzkWk zV;n>x8m1p8dGwE#{s99fzo2k4#r2Y zYGAiE7{DR!YGFMp)ANzzea@S zpZgMBsk;q70XlZhOZgYnTIpZr?MQjD;gh@HsKEB0P_@0wZOSlW_VdZ2=s{XVJ7;DV zgIc%LfJQf(S@#+QRkh_+)3Sl$!OsBDt|+l36A@umOQ$gCU;+*VAOz|-I}w5}E+R5S zn|42hCnHkBJ{i=uIGj>{ghE$%)s0x*!u;134`?ZW-`e;%eLNJXNGm>0+L^TGyg6A7 z2sCIS(S86Ww7kvCbz~8W`8~u(H-XkvzzhpcBB06}%D9uPA^9Q6!N8f{ud<~s zq=r|wjoCk)i39RR)#0mxQjv8Bla_<|_!*v-e-5BMy1;ItLdO|!WSTwG;lw%;H_FY; zZEb45ajPogXnR_?gT3TRUw{tV4;m<*a|0E=<ae>6kR)NEgZtY1gU zuN7uXg}PKoNNf|@&Yh}TV*f?6d0BI-YOLWH$!D^+={+~}+Fnk|vCA2Y;9t)8zu7>+ z8vWcb7dp<}@pwyKx8wnG5!w@uKJnSd_oitL)e|-Ai5|4h8!l;msvD+&{9|oXNFDwE zHPq9FD{1=Anr5L>tZLkL$xO+nPK;tx+6UeH!7E(*oP%p=S}W6;D3qXyN??DEQbqG= z)yEF>9@MN^wqMCc?&$7nfGNU|xbk|B%t6mt-l`thHG)#d`SnZojzc{ctdoB-d>@-( z{8sCvPKhm`D1+sscR+8+m_W}Neq;)$1ty$w6TloIvxQEHh?IO=;T(CL)yK)O2@ULb z$|qx5{$ByLslwuCxBg=FmrWzuNfZ_5`|9^JwPoGYz@7u;E77XDGGsg;Cg`}C4PRPt zxB)p@gJfFA`{510nm$nNfzEugPLm&CG$IOG)fN{E`7U{U>HqD!dfth(ofFt!G7ez@ zeooL|)iHg8>+n0Z&!8MP_y|DmBm0sgxpM1Sg_gPQnpW>65TrheAm8z6|%qnYTrG?dwJq#XDqEx_=h`55|R%SbSJhB@A#qL?Ut>8 zL;G7)i*d&(bA|n1bfCD1qf}FcBW`QW4R9Wq9WgK({%=miXg+p;r(q9=O#!|xa@412 z;P@~~RBy#EeaoeGeGe$f8mR!3?-{03C5Qnl2UqIct#e~1b^O4-=b49h-fw*;;r(F? zjJmjwye(Ho_}~56FHvvvc>&`VUUXHPtZm~ib6%x3?mL+6Fl+W)2$pJ*4b^-`42Zv> z^ZmOY|0NEwpKV}5xwtDWEI*eH2M05!Lgr?(=cT&-=Rte_HJRVWcoiwjhlw&Fnjet` z1MRz|G|M{8Y-US(<-l>A?X|A}bgIn&BdC#2H4X)kf@g?0hfc@Yv4tyO;)uPTf)^3~ z^@ztye!3g|Q}N@LqwgcZ)G{VqlBLK~Um<_t?<(6TF<3sNW{?Rft>EJX?O zxArpjtZ|37COJre`Gfh%0A*gmvat*BnYMy} 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

x&wWHuQIVMGk1y|B1%Suw7Uf5DtPCE< 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 literal 0 HcmV?d00001 diff --git a/design/store/raw-tablet/05-recurring.png b/design/store/raw-tablet/05-recurring.png new file mode 100644 index 0000000000000000000000000000000000000000..4bed67def73239b4a8dcc2fa7525e582f76cf929 GIT binary patch literal 128994 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

c*_o zwB8943w!Qw-4T$@i`gPza`NiS?s*AGyI5*pZy#qNf6gRD(_Z{0#aHlfOy4Z03;2quAxtR$ zF!&B4%!%pG8&9=%w7d$=R+~unt?!xghu-uyTnJteiVVOh{1irc=lV89mP8^DiLJ1? zt>K`Gx$n{Pgi=WRj5(?K{S98|Qf*>+AD7wGme8+f<@ z@lCk7x=%qxz*9Z=d^bCo9x(p6&q}@N$=;(CVGOm7RJe!*kb5Dd;zD5ypC1E2F_1UZ zt^D^6JKm^xZ2xfTHR);Jr$-}CEbg2Y-h02^ZAX((^O2&K&P6tg-7x;-t|Lr2KsjtS zE1tbH)+p4~KZcm{RdQ~1+V;?}giNXjwU)HvxfRBi$e~RndqR2c3AKdQjU0pqWc&oo z-Oeg~M|I$E0eL>c>%rS}K3$IQmE0jH(oNQnhoX1wT2VU)39z-0tFIUk*u z_rp8wSJzC*`ub)7&8%cPx4kL&@If0`CBvwDAhmmX959R1k0|>Te!pi;u8Plp{~pP! z8V%70wIZ#wrk&5O?HgH61S}4OmGq&$N^i0_H2vSdMsx?yz`%PoUmIXzJ7$PK)Rbf9#__uUn3HGb>n=*;p`E7lbY zHAO3iZQkWHKNMWwTx%8XzRQlt>FRclwFg_2GQID~hh|4FDNbbE+X5u|9c2j)i%_MwXQUI zOEyJ=EXYe4!QXpV=0%ZJ@t(Y;`WaS>H1sCFsvBkbFWVRw_hB|t=4K$zG-cGJ^dIip z4V&M*2e?qWx=|uMF(-7aY^=@Av$yU5Jn_?qj7>vALL#W!_j$R+hp;!7%^%*2*5KX} zDxd|&#hDd7A*?TsWK6Zi>!V*pL?{K!bkjAXPh^ZJH9Xl%dO535;lokIai@}O*!bU$Cr}8*^}dWY=^r@fCK7FyWGq*6eo4HragS2RyU!)=<%$KYL_YLcL+y`7X4hC3*kTnd6 z(+o@%srsH{vIwm^UB?RJf#C&l*;1yrE?g_Yt=9r-AOL?3Jj{NH)-?duTn~a;i|p^; zcX|_5z2{5~6RzV=D=1_%Dp^`4aszE`FQ-x&q-lU=xt_v_!bdLrSu)7gdAjGu@!PHU zYzFUH1HXZ9W|LtlZ7>n<&6$%xE9c6=xP$VBCJ(nC^k}-$7nj=O7npsH99RJ(n|qJh zg=8O1KdEpVXm(t0+}{Lv#(9QiyJ$F8>UvrWWpdBqcaKT3UV-h`Y*P;5*)MoOpnB+t zQvQkk_iEQGG}$vcad8XzVh^PyMfQ1qSsG7LbVoP66dlR)jQML_(DtWoX5u-UCCB2a zwH?IE88>$1LmI043 z#+%aO(v7(_26VR8zOu41_Ciw9+#wQ(zsL=*Y=fe`$;{=4T14PABo~3Od^C6E25{{3 z(3-44ys3i&MHiBsotLcTU!KX_VDY$At%K3cNks+4npxPz`hpI}gNGE~@*Re~)p$ZC7TC;?t7FteKK@cGSUU}DQVi!~6n zl_Mea?bCU=Zn-aBJgHQDTvnE!K3Z2deEQSZrZF0&vJ5Z$>zPn(orxT2QljFwn!8=lpCiR%3L}<2S!uB) z2(GBsz{P(32q7xL!rt?oSik-6kjrTsK$Fz8%BmP~=7~qO7jN$EpQWpv6 zo30W{5N1;5fEZ|)qzF|WzKbYm#(rOsVlO=9QCvgjmz(FXJC3Qpiv*>tuXM$FEVzrl zq3edQSfE=qLmuP4Ar{#KAHok*mwAjZVaz7w#a{5X;!pq?2_RN5kVW4kHrm}nTb4+@ z4iFwN0VC2c&-;$5j|5Ffhy%5{;(pTNX1;l`RUX)sz>mn|yTA7JEIA~+5%`b5Ekw-L zQJDkHTmw+p7AuZp0IT#Afb#rTrr;86+mDYh(pD~mhN-se7RP> zvcdYmd;=U*#7Bcd_F*^dYdQK>Rmc?cqL7@%yFW$NAsVOD6s-M^MCRMpc$h_`msHM= zVsw4$YclI&-(|8NgxRV))&j+b`KP-*^F3F4zsDzsHKRb8TkC~BL`h|~IhE+UWKXUL zE;ka9ix;=Ns86RTOf zpPar5>N*J%j~?tTQA)i%@Vk_GT}H#xsLkjd``Y^|@=Q!^)Gq>5xUzq$XpveQWoK1) zOTw7=bg5UNSBZtTtPS~OmZZt~W7`%1=*=rv9*qvjZGm7&wFUz{9UgX_`EQRD0~Kw zTG>BXS@aaO{^1yRu%Ux!iy&;lt*xVdLd7&3KE+vJf;Cp?^tF#1!80c_rpzlumB3=s zV3$8V7|{s)E;&AZ?X@_ktAUp>SnkTA0x1dH7_(BHMED*r_zcgtufjgI9NE$1>l9|8=DoBy}x8#=|cc>e2NhLI7Q1hmAjf_aS95;4?Wvr^#DAz z!p+(868vScrh{9{IL+lQ9k0drws-WA^{GeC96T`T$*l{fAolVXdF+(LR7k3knVCCz z9TY`J01R=!xVvA{B&jf3dCq)**x%GtGFaI+9s)wKm|*%L-tuE1qrN(+;-wN#=POyj z0U#AE;(ckzlneWR+w;p7=6r{;a?KN<#6XZLVMEaso+Md9fBzXNDSh)lb9Xj24*5+F zJ3Ff>W%Y!@y>g&u?%v6`(H6SCNSGaBE=H@UY+V&f<5p}jM|9u){^j|R7=@2wvvm%f z5LEP&Oqf-Hp%X$gOo-51_g|4}EvX9A)8#l^H%`b&BO2+QxAQ@jBk0^NrV4JaP z5fQ5;V=Rlv!{^=)deWym`udDDig>j0w1ueN(0;@QCl{}UEsYl@m9emhi zybRYe(EP@YSID)2iP|Z8)ft6y_wIXlmM{P1RnxfZ1>hCRZ$Ruo7q$G%ht(SoqC4bC zjKh_N09w@|0j0hgGi^g$vIc33)f*AbbM0%boyXpZalausGfxHGn5(lLc3mwkgrX|h z-acc^B4Oa~GXAT#0~yYpPuyqn3yRU5PNm>T@aml^l2L;%uIkvk&$`!sU#T&?WDCGd z?J8QI-JC_%PoCFu_#6~@MCs;DgtpIAJ|TpL+u+FhZQI5`-u@t=!DEZ9t@k=xReIGB zeK)%WdA6GHsABy3kk77sSe+ywDjA{FME1FZay~<{JS&MiU4nlPjvA03(R*@Y zYI-{F!-sBPjiKLx@-0wnt>%Z$MK1(t=j0plAyfCei>)2rzoLL%O>tz#H7(Apv06aA z=OLSs#nMdXWtc8esZbf#utuUXsl|Qc4NuK(Se|GrQ*>JT=5nI4xR$-rw)TCuoO@TQ z#*4=Htt~CyN*`ShKRIMmqrJP>=G}yZQEnakkx26mBcrGnPYz)cy|lzY2BDTJw%BXW zA=p#DjyJq$bZpfyNptAuk!Bui)psx6D=XhI<7to6sTx~%1~~c_fUrP|+ZrJ8cxM9Y z?dYnI@@zJ~I&Z`gHXUO5ChPI;62j-lq`5E8{o>Np(}Se53k$vW9yQOr{b&F4f}i3D z+8cax)1IhMG5wHf)6fe9zr!~FjJ2?r`nML~@g;9m4$haSi3)8`=qY>9(LBCSRJDIh z6Tl1`k~dnW+K(Hi!D&|j2nINq=XYk?!U$&aYOjP<>_M$&eqpZLIy(tQeVrJW^?ZLs zXx)>hsAJxTIclZV16@jr=UrCaihLE%*OY$#eDSQbNdMe&hqku)@o(@`>PM?zXMzz1 ze0f_~4prP3*xj@j5=1zYJd(>AtG+jJz(bLHK~A}AY_tl6Cl*3-K=U_cScl6#AtAL*QKICjiML&AXU}}KxOfp6-}NJ93euf$tkbkKu=TU11WAG^ z@LxAZNe3-#MyE9oN*ul9Z(ZeOvX(dJ;wh4o-j__ResLuOXw+|{wY7Bg%=jkb+)c}!&_Qh{(A3jLZwD6d z4H1`RADHDBF~~K+GRn{Au33BrE=>VAKS1=n@A=C97yVbJE_g@(ao*76)P4!(_~$ZP zHR{&z)ErQ9&!E1LQ0y>xDWY<-L3a=7K4*uxaR?*I;_jR$d(XP(&~0tS zdncDcFo~>TtnMQvgPZjSe5;;0_?Wl+sg2LO<>qgVj~qX+PwK!veRSClrvd<&L7aNE zQw;ztpp((Pd2fPKS{bRf66`~DIN1#2cuNf|=UNor(5J|7*CSXM-!Wv7 z6~+qKFCb-IthFu-{S6{64YDEOQ9mW8kJs=`USs2aQ>$8?mCUL)bt6uXXf<0RuQK#{ zL6FC7LuC9ez4SAcRO0(TZfqvtt9Xom_Ea?w5=@W}E)xR<{t+_+%M(c5&r69P-ibHf zDK(Go*~HxauyC(6($c)aZ6xSuvv0@q35nG?&yp4p-+BfjSAAE6Y%_<4MY2-zIIdc} z$2?}ucEKZ=!*w=h=BBNcq9Dw0U81#(LyCxq;QZ<22*3r<-Rmn%RKUQ;G#AKNV<6CF zVrz@Iz6!QKC@+ryVP_E4n)T3a?2lQ3ymMH(!Y`aueX>3L$5giXjvlmdqmANTTy<0p zoUaBRij{40TwGSHYZJsc4fzU)DEH0MQ>3->FjS(ly2G`V%p&V5_nXk?PofWx&N^1Q z0*hC+z`RlYaL3-8>*4b*o|ncyw1>|=oqQizE4t6EqW*nZnWi?ZGv1+?np<1zAnxbm zWAv2T*4YU_B?nfNS2VkXboCytYbgocTym%#XHt_R_nhCWBh$iwtV4EpB?G$=Z7 zVKi&M#E~uG`1>c9N;19q9(w8&nliie>ZH|jr<$tYW-d_1UYR9sc)oh=bjSy zz$jc`kWbYB?G$>QnQVJxWuuS3ZK)r@BQ9-c1^C-Y?Iyl159x?Ct;=DLW`x@v4?FB)b*RcxkxZ4`KLFfb4 z03%T?jMXKfFRs4NS2ZgFuIhQu8NvT?_vR-qfs%%8v9i|!cGlsbW_9ki+CjdU25gb7*Y7 z$=)O_D@(X(9&bNefM7YyyHysd#Z>jmT8&UJXS1oW(uBZEek#&s8n zG0E{cpLDh>ha&IXD{Vhizo{0ontL8u0X?cUWU6(EDMESj+rv+fHtO|v-KT|7((04H zZn0^Ooya!dp$$#?)8WBru&Z;jLTzZn$NO8?HbA;9{q_e=eUh2a`~bimA#gJHs-7iVYpif)Qa z{_nXPxsrL?M*R@ri)I;-2$F}MpOMH}xQDG#Q5gcBsCt))`XLg?DNPMT8Ko8Xy=r)h z@c>KP$M@ILjzs^w7cY_mac!NgD_y7+r^ituDrZSB*!wyg;LP`q;#i$F2D3wtNoN!k z$~%&dw6(YPgL&ZW%*F;TfHXkS+#j$Z)VJ_aWN6;p+#iPPHIryd`OaVHpqc~3B&DGI z1ar%aUBXWS=4WmcA!!U4L=-TtqyfR0~(jZJe;szzwCx-#uWTU=ZU!OQ#10b-P> zGdgqY4neRJwi%d2P0RoX7L-ts`QcTxqSM#ghH09(2GYsI$2v0by7}BkJ0Kba2|W`- zP+l=@6PUP9=IPYw;evSXSG))(MvzoGzmRd~JS%X4&3_Z3+w z1%2S`En|13Ubs=Lf!#O*6mT-GMtaeYWM<{KUw23cSpPL8xNM@5|11C`0c|KzpJn5-;XbXU;dRN~k1<^eP`T4*l^H~_GDQMw>Twx!G^pgv7PBlE;YXQQa zV;|?i={AJ%tO5qHq_+0i%Jyl=-ZQ@p070eeF(n+<1}kMRzdk}#t+m3R z^FlUJML#RcS(R|6J5UyY0ssy@+H-rX$^(l)&lQ_7vw0wkzlWc;7c$0QBPL2FfH;2d zbcZ!tiC$d&z9sW=gQ6medoX0ZW(=ANgyoT-9w!~3S&ou`)H~zh&3l|#f-+pr>;QOZ<~ zm@C=j{td`n^&)1WvRigEB=p=H+NR}N#5}A z@M(vZ^?}Nw{CtzL1yIRQu4YS;LoVln{H*va(8|)E5}JfpPbUpo4K62K8dsc}o(y1i zof;HIm#Ll`syVfj1~~&2XhX+7a0~}KvKz4_W%DO0N6Xik6Vbok#(s8pc-*HdluG?y z!*x45pZI+a+qZ!F9cu46`EvQt!gAXSGKHTjE>bWh&X%oRVnKE+b5qmJaXg!SUvwW2 zx^pu$2J)o#n42OtJxX@>FX;Dw73-c`6#mx=Xs5;B8EFfzy!^-SAhnms3tE|M*;#lR z3Ttq^bhF~d&V>7yJWv3s*B^&;n46e8U3I(+NpEz_2{OAU@8Z6NFI%VdM@MGp? zmRUfykrmw$p64kfYkKDG&_r05?s2m%;Ws&jGePR9GxFf$V;)IMx%*iEd-IUaWcNR} z9L|$dQ`4Uno<(Q!1A5bq3LqU6^NU5?+u8|*6YllUQ-3u~BmUKt?C)pDJAQjxrrY}h zNC**BpDBW@^yT;-iC+q}Fy`p%?Dq>{KGR8(gyAACwPZa_0v1ZVB zJqDB({Bs?DoWL(^VrlM1p9KrzuX2CzU&o<$eg7*~jdb3Ac_v_5N336dz)R|I?eD>2{mv(-+ zwElJk#UQNd?xqd?c7gTHp~{lQ?%tYpfDJ2{4P#SiQX^xV*r zd=8Epkoj`jj;_57-Yx*-l+KD|k7)e!=8zdN(86WQ>B!&1xyNsBKQMRyNf0!xc=yxK z&t>^HfP3^`iG251W{-%#j8Mp&s|F~dzaO4=_lW&30RLsy-nF_VP^gmD&teXmR`0m_aLcv2yMN}! z5d5{q5PyJqO1~Q;_ZZyA&FkG|2X@g>Za)TvcW777p90sE_;1@^9!X;wK(6PD?RK>U z`v|-!+~CNQE9DMD({lN34$!fqn5a@mpE_~gJ zKhPXx7=lYCy>o6cP(B!WWl9w=AHYy(?`{V(1$ZRyy3W7*!M3>eYoB7=tJLgU>czLD zWsU9L>u3NdK^B_zT_Md8v4 zjHI+o8^}^&xxMQCU%-x?5&ebFj`;fuNps$wd0jg_X0j#LQO!@oIEvZ|vu#;3k7bza)>SFaw1lP`0VTO`q1cN|SSbv7Czq5I!ks9ssZnXXlaA*v3jQ^4 z+FL>3BjsSk;{y>z?w+28SvL){tY#UOvKw%B2xP0(a?J<(((4D9|7@Ydkjfg!x1o^F z;g2& zY0RZ`$;S^q{^YL^@CfY|3=pJAkpxXVu0m>&P@miWKzxmM}-?>2{oZx{cmfy-W? z-2LNqM}Xq=kAEnFRuMn`;immljahg2e^4CqP5{)j{`)%Ztv?l=|KA7wH7x%(bo^oX zzs2zXxfql--~vZY3J7KI{b8yWalPlNm2|dO<>a}y)fMw zZ>tPv9Yd<}*hRbND6S}0S6{Eqd^2AQ;O}byz1<0Ncl3dC&C(03!o+%WS-@Z`bB#!x z7LiB9iv({Llx<8t=iEB+?+-v$O9X@=(|i?Hl``c) z+oA#5CWtYj;>0W-^sibj3Bvt&gYLBL2E1XqY>md0o)T2vVSXuW#W;HIAXguKr!>Z7 zbbZcXG}wkSbj4zX{=RE*Q8vdsG?MKxK^Lnx zT1*Qt2X+~*of{dMvVrwA)GWTyUHLjezj@Z8ci5&~mh2nfuy0sK7a!QVJq<6Jnp!0; zWP8up2j^;jNX9Y|n0NybSO=TJrx#0P_)F071i)SXuz zTMLq{UrAM8ol%gq$QM?rJ6WRQwoyml+$tY*of-X~AO06iF*4hav|mH^2JC zHcfWu8nt~mu^?v!wx{EiS|h*x*`uMkanPvqII z1#Y}}pFO7GYO`^o`Z-_qfD&dfCBJyj!pu&PQ@DGjev=a+&q{2>O}}o7YY)4FbkRJg z6>qztt;tiCaM|p>m~2ZusBo-Zu(Lkf0*A4Z@t>CMtPvVbk}5_W=WWLOc04L=pl(bX(7F59{a1w3}XSbgcM0)uUjQ!0}C^?Q-kND7Lz*ciN7 zLlM`Ic_o&rBsaD>rsdMRo^c)w3CWo-w-~ZOKeVT_3KbUYQ|n1gI+9PY>k4%v*0EU| zvPP8FVmp$WMc~x5n(JR*OIzWfsl`&$frzaxTlM}Ohwvu~faP9JDc+g2_gMd%R}E_C zRgvGTe^*)PS1$C&*%VK<@zz)&U%kO&s!U@{%0|9MwWngm<82VWdQ*DS?bc|qw+NUf zr)T1PL8mn>_zxbVuV9W6TPYSd8*1E|Z#GiHt<){|GqX4(z1SYlrEf4=$8i2Q>>f=O z*BhyC%g>yA3U}h=#rD3Q>|~|2KWI#WqIHj@rFr@$CY}^TnUw@Yp=Ytke7`#$3N~R{%0DR_C5m*VmlX^%OBF^Mq2}Q7DMg^rY4mC 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 literal 0 HcmV?d00001 diff --git a/design/store/raw-tablet/07-dark.png b/design/store/raw-tablet/07-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4829ef2a35b01b5a694d37e690a1707ac42458 GIT binary patch literal 114657 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%0AGIium{p=gc{)W>Wj%|nIY6UdFpP937wXFxxO})i zAER8Ja3gAaCDH@sUchB_=wuXIs3B{ZP5zTx(Zx{dt1wg~T`6{j@YYU)z0FuJ<_6&{ zqQeW@GT*{ZSV*$*>2(7bzSq^HlHZtXNiuYf1uRH)6D-533%HoMexi^MMa>i?xjXtw ziJ6XpLEQTv-&|Z=bfuh9M@EW9-k%*7oLc0VTH-U)RZ-~#{jKNKhrsgKKNmN`)1m+0lxn;p<$_?b z1Ykw)pKds$qFJVrC4Q=#{_(N5esc@*x;^6=anH$DH#<8!8r=(a-tO#9`zlrTcD428 z_=tf9(mp1Efq_ap`zZYJ^Mr(3#Nhh@TR6iNw~wRoA`$cWdSv1;w6V!yN;9N?mkb@#D8 zC?C)iDEIZeig z5GAc^LGAn`fgSvkE+}gxe31}lh}=RT7GT4Yj>bQ#PfBF-3>2_-6%ydWU`i`*uC-K` zV@y|^_pRUPf~no`d#eA`uXi7UUp10@s^dUUbv>@w_EaclCn#xrs}N#i&MNicrFlbU ziT{={F+`R$_;s?ru1GcT>{)@O19|zCwH0k^>s;raRi+_K{Z0m>AWWz z8^z7b=iEVa_1{!96!BUKHgr4>JB7oUuyoR8G8?KJPiu&Wz%2Scs;z9QBLh)og?36= z(e?-e?d)`c+L;x2@0QVvs4CXK{U7A9u)H2@7uc;K{ZC79JlB;0!nC8loyOcPV)N%2riA72cWz5*yXC-=49Ny=h#D8Kbi^4spkbNlKh1pY zOP8FC{BYhMicL@jV1MM)?oDR@wZ9yEejR=6ovIqkbMhw~gI?|DfXC?iK)vt0F>wIm z`#9m&yunK;*WKh~6sn`Mo2e4ltm3|cou#@)QDqDem(xdQB*x?dVUIL6D>^Jvy#o*s z5ByCV^wShQ1^`X%OqF`^@$}B_4WHvMdlH!u7>a%6V4RXGrMMP*&R10Z`XOnIc# zJ6o?EiVXltK)NFRxs7Of;yX=Rn|y**2{ z(}{sGEES6hXR%W-stg|}ANDWF6dvyf)(bX1s+@om!dWok4igHf9!tT8*Dr$qu*>}f z#A>Nx3kn1J0c(poQZx*$5-ww-A&-*Ej&_GVR_D~>%7owrENpd>{!Q6{s3KR;MUClF z!FqR;)G=RpMXDEWg_aN{69EoNV{#nqrK!AiR<;NlO_Y`|aJr=lJI3+FO&LtUL0M8c z)oV#ybKc)c@Ryc#lmw?+56G&JV=rgCwKqkydwJ=j#l2K&J4FXc!8KP2pIl2-HY+G} zr9YS@^bu_K)l@vD2>$6~JZRw0NMNRhT(@kd4AR`|Ys7 z?%2^do5~4An*{ISVLgG?loZoU#N~-Ptl7LXXj)usS}Ox3UCULsd;LHg=e&h#rzbZl z1h0lkSS#GIaROcSC1D}08AQq1ynqt(26^!y_Xc_N4Vl ziQN_nQv9K_ZsrJ8 zQ^OW>PDn@yVKa}iFnPG|>lYLI6{Ni9nx23D)H>rpUZr9D%zcbHMw2WnCl)NuvHtVs z8Iz?x6ydq~`G&`Y)fwS%oJW!${u)bMcWlj={|s>#w!K*Jb5p+ocicZz6>T5fdKZor88(tt$N? zGHDv=n$H!(QMsTa_|R(@=-@E#Y-JUwHEJm?M_!--wOX!(Z#1SW!wIXrQ_I^0FxGG8 z{KA7xjlu#+Y8~B(yn+X&cJ!9mqlIctzUN8Um#2grdq6uh-Z=C@{js66v~)}LlI%gU zsKad^EKWDCxL}}#dKGEWDr#kIbIb2|JOHmY|4jV#A?4HX!8Ag z!_$3j&v`zPX@Z%bne_IA)u(tvuvupwBG4jiW*#l6(w-FpZQ%1;MY5RVRB}sdw^LB? z@oEW;UMH?Q=YN_ysGkim!+%2)dm%btx;wA?M&Ji5BBZ455hlPQ0gu|J>rr7dXE2+N zp`oF&hDO?(G(U*t{+|)JaVW+2>})+uF$9wlc*%Wp`ytzM`HQY`H+)Om&e7gND|y`c z<8U&=@Df!2PgPlV1U^{@Z?Zg$mo-Z_UA+YL7HZ?M&$ zq4m=)%gF<&UTF=U*a07NUhJnS&&|tNh?$*kn)UNu2cA^yEXAOsy6!1*+w?`187*A3 zYfH7e9cHD{Z;MSZK~+e+OzHeHbSe1X@uP;rmW^3hL>`!)^s6hOt`qAs5_2x-4Knxt z1~%$jko1T4+9r8CeG7aJf*Kfw0Lo%HSiUdevK{YSXW4)E5ToH|LKk9nPBG@TaizWJ zlde+{ipRU%PPcj&7Jt7U?uZc*5hf2)yg>KV2jVz`nvnG6$#>{oh3LduDr@hX4Tzd~ z$_5}ds^IpACt94n3=?EXRP`kYM0IJkwVxl_R=-3roPmMu_=m&HZUA?zXo>+-RyF+dmCD4V4@CIWkHz(ty)(>a)QqBz|#rT@aWyauUZD zyH5k2`=D?Hc_=BMX08O*VLxZ%-4s{BOIKhqk`?El8ynZ6Nhp?|$*#3i#76r1uR}X5 z-n$>XUtuhC1Q1`1%b{V6;i}bBlr7cSDzSM8gxfhqGQ6h{n(xb=PGCO07$6_#{qX$z z+7>2B%09_ul-)(MQJm6xYc|SgaAkmDdfU(f&(7?Qn;@Y;7s7(uUkv}+`bCiV&Tg%t6-C!^_upN zw{5Q@q#msb4T>;Mo;5ovN48iT;r=1Vzjl%EAN+MxPF>7RDM6mJY(Xhx+w6mH#j>$XlU8dz97gX9R|XRCst29be;j1YE#V@P#yeFJbZ)kUN2F%G3USH z+5?L1ra4CGYOhpgBjX1;x^#P>k{tKRF-BrYxn5Zm{9d}`qbvbu*P+RpW#Nt@LT2EY z${E|wUOlfwv4=^E-FZGsbztZ34!xI4z&99B7o>`FgCJ?_sx>mKzAD&lCIQnJ4_ zuyE`03J^Elw}}cUe}E+!;uiBBwDQ&tXRZ6yuOw2rA+1>RF_+B&b9gdw%`dyFt;bXF z^L2_sNuX{ZrkKXmz-)>KaHW^QJ(Qls;k)9LZ^5mGO5G*I=nLw}sI+(XKC7G_L~x7p3u0>(bv3OISk&{yDg zfV%jq$JEiI6b0;`A2OiW}@E_nlb&J91nco-Mlp=WsAtiVoCDQ#3Q z9YDYq^xNaZ)i_J!N77!B26u=dO=~G;BFaUi+h|-aN z%5o%BSZ4HY=`2)Xq_bG+1~U$k(k@=X2b|6-a;wU@BY%SMVswKrOv?P-@-c`i^;Tw)ofMR+D6(t6}CyvclXiZe^US4_Xn^pl2 zKa(OdJeFBO#b0}3f&w}JT-^O{c)U};icjKInfkhczg)qAI^+p5RV#e|rH{^bj!)D8 z4jfUPqw(4c?^%oto5DnGcE!&pF`2m&B232!jcPDeimGqy7Mql3_~HLqLQNVp72&s! zlmP92q_`^U=P~&@hQS`enCt<7Vmht_ll;`Pzy!3i(1-rjH|6()sz~-$qB0hS-V;yv1F?wNio# z$Iq?3R}=B7+K(&L;L;x+GBE@U{d+FNB$8K*`n5TK#rXQMU-n~Qq$qVxUiuCe8V|<6 z%<=iCVg`z|l0?NJ93E*AZ_5l>J6zM>dcea5f{??LJ7KlKm9|9sEs}AORfhg8AL3U4keiK1&;ose1LNZH{Syti|w2znmDG+x+|1=dGn|u3iC; z^WtTrN}M6F6!Au90?5Bh5&EZRj5!58&f>bB?jC3)aQ94f*2(Hth&`3m&Efm|$EGu0 zODDyhM46HWoY;_NUj;Bb|&UK2b^wn)I(N!wF!M`z5u3zgFI zaEJDE(K4llg2kqaB^tqe;ubw1N!$f_XFAVU76|{xBpt4u`@LaiJf3|lwRNJ_$+x_( z^#cYoGwxOEK{_tmx%?pLu%C*)Et2^m;~WtE7MdP%8(%h8E+y+S;B|qqaCNv}A{TJZ zLZCN7WNvq-tNXULlj=m=uCUE~6ri-sy;w32 z-`%-sDX663@KB$h{qRtuxOu7`!&Iv=lau|3_$OR@Sd6+Y@@0Ri3Tl&hzn*Fa<~Ljv zrs5joc&V4VqaCrrB2)cD_HC|SFz>7VMXtHi4IyEUhpT*!%d}~R<_IKE1l=_vJ*ISoZI1y>4Q}>Anxror zGNHf3(0a>;&UZK8c76|YyqQ&pLMzo*xKi`_+QGp7(j(4rh*yY4DEW-(*xDk zmvKpx#3h5P22aoNOO^s70C)vx4VmGAjwvm$WJ_ncT1p-0?BMTFWlGL=)u?w_L=PWI z;-*H)>M+}T-J3w~#Ljkqg|<4&v9&9iO0W*?Lz) zU=|VZ`Ab>*0egb#!{-$D4qK<`e2I{r)rRWSkF!<}fK%;OpX_1LWB)(MtxPm8MR{EN z5_M3E(>eALJhYce74<(cPE=j0JFvD3Ydx3}Njso7W3(gF%qmp}mYfpsu_*bjM@|XU1eQ_j#`Jc-V!dWMBaD`iXB7E{=33P@$&}x*tEq(`!s*y3R z!YYrU7_oE?kd%__1)2r%BH(n`+{XWs|-WuB4+x~;NFGCI~iZusI& z735a@BbzzSe^Q3U5R!+yROX&-CAY&v323lgrLbN{k=1I4dqzg%9SwNV44*OdA^QD zw`pz|=vmoV>BaVdRWYpJ`?0msLd~yh&!hNZU#gDjnSciI7v!@5$eHwDR%qDU%{Tq8 zBftc^Wi}N8yG8sJ8xTm2CQ9_UBrP_#pd&n8BlnpL`AMA;c*3H0~LJVWdE;H^n(x2@EB@BY}bm{A^$X`>u^+y}InE4)K9*!H969~j)I!~u- zOqx|Ruv>!L8=l`JuRv##Sv|j^hh4~9`5#%W<$2sXKsD#syh<_INOp06xtnY)kc1Gj z9U1dywjb_|@VGgf#tyuDhnp{g!6x{Z$rDxVir9)z$IErE%??IDU2)PEz{{{$d25he z3AKLbaJARz=NXSE1b~Y5;ZOdWJ*z7R2@Q}FiPTzNf%D^4Y zQ}-2Pe=)d-&h=nmC9+JAd)!Q@RA4=?9kVA*`TXNQH4pz1*=dn%+-WUIdJB*tCeL9; z{I7%?@h>a$G9LIg5+?q2F&G@C{`48b$@JT-VGQ)Y1ddG;45n$*8)ZGw;!ms6j5=qR|b$3r{+EN^hUrlxdFJ~nvvVpPQy2U zSjYz}qAGWdOkO0WKeI|unzA6& zQP5dV2=j?Cz5*%c|Tf+1c z;lbC&8y|uFuE6eMuccd780500weCj5{EqL%GxB9dVBM+y-1cQ6Uj+CYDzktM%dT%NhrGM1n}EY`}~8J5~l7jr4xR{Z%_%dXv|&*&WTo#|djs_uIp zE(>u7TPrgIE$p*$a2C*q`ahRtO>`Og7oJxJ(hqPlN3j3PsD?_>VdnqQ2JGK;m#ayLK$D6W;N0hZ(B2od`LkK>#NADode$qy-{HXP z1^0y{%A05ZLuyEa_%Y)H$yVNM6dD6gw`EXk2uT$r=>32738;qs>l2`TCKqtwEB%~5$kCaf1<>_mC}R$AJl&!UA5XXpkOo8LZ;rY9o`kuMUU`y z=mQL!`s4Yj$a@Qsb1W&oGAJK`s}x3~lvm=foR&LzGN!m{hwSkhL8(D|poNyy`{|_k zqLm0@*O7)0K>p9K{Db?5+KWdqsV8}E{qSfc>hW#FkXa!DG@ z1;A@q*E%rdT~QB)Y+>4xw7VFJ*_vKJ$IEo-pwPGCE&iSFF!=u{^uKwy^7JzC?yxsd z^Ywt5zq%8ax1H31<|rud&6V}fU#}qEwE3+f?v}0y>^=!`plZ8)${aYJkRfIF0=XDy z>5sqUlvG{dkJCJJ!e6{G7_Ygj(JP~QH##d_?)i*Yptkx*5NGXZ3EU5G)G?U^Uv zsfKMb=>V!?G8tq3oY?U+cBBE&N40IXBQlgvK zUGyc(AOf)p*D-yFQUprd*LK$=2G}V8!oK&U%Hf(n0M2?$SEQ1lEgB zT)q~jG^`g+?mnm>V|#<)lu{n&Z65_H3RV#ydlHAJ3VuJQ_5buA9esh2@8rP{0XF(D zA*aeN26tR+Jf^yQ`JAp#w@9{cw*r_$DNg4jM1;CCBBZrnUOyJsk4rR6XqY9kI=D71la%Sb~c>+UvWEUowftcjVfva zU+*w%x1wj8pPy>7{_XZHCgA1(iE|q`E_MCvf|4f~`T(cMx5llqLX0*bx|IqDUc)EA z?|HjyNh!^;{s97Wgw4$V8^zf6G+8m8R+G9W@PF%%{)bVlq6VcRSsfttluDhAu5@)z z-JpC(VQy=gV~EJ&9u)V;GTv?@?j^WoVpj;QX99qidLlsgzr55YTbVE;U{K5fCQ`v9 zRc~`WH1mrX7EC2bYbQ!>@2@<92H639BIcU>AH2N)Qj)qU>l@+k{_bu=v zziK^+C{=8#{ltrbtFihNT*481vwWsO95RdXp+xf+3zswZLmWx$^H`vgzXd&sZlfvWL4dxH1U$bYAn@sFO8 zXu&u32F9g=Nj}RoMrH2mJaq*&^x9IR-eytzdwYGwjCl0dux zy1LF6rwzA^)vxL~Q?ZQw`TO-b(k>sO)n0+O*3#Gfvx$Uo>ojh0;m@2C60Z^c2wIhk9U>r|l= zQ}B?qgYgLd@_B$(m3)!9NaRtp74gAUTS3IPEL|YUKW9}I4QcYb)jPVe%!2(x#fr2> z^@XA7(jFFD&0`(lhjtop4w@_aCLR71TEUpBD}8G7c--}1`S(I3m5B#+vQW3Y{8E7T zKJnq?;3!YK+ZsE+vU{{Z%VD)S5_m6VfME&#^>|%NuH35W=PxNflDkL!m_VDFbe7IV z`LbI3r^4VrIe#VK=%23ii>Ld>%k{t+6OY%)TmCuO9S++P`&X@(k8u(}X$kl~5c8*D zR(_y4tzZT}>eaJ>ux{IFD)8;^CVRo}`q2PqHtLU>Ik@hY)eENV8LXmSPR(Z(4=%C% z=K>&arayXXvy^st7c7MU0hk@bW*i3k-S&A}`2o(6R(zrunzG=IgDU z0T(%$kYS)gP2SuFv2=L4Z(?-;N{2Nz1P}~#^d+>0UpRNef}@{I^-OEVbhLfY3=20zc3Nk&ToK$`s1Lpoz(Gv zP}t8r&D{$d0BZ7{!EZys`?Q>Hmr4NZ`VFs_rU58d%sNI->hURwRJ9v7TSaA~j!KsIPdl&_-{oI0NCz zYXX97DnnU3R6Hp;*yquv`sf%Rhs=I7?^q-A{9aPg&1E%@ z0P$*g8Uu(Gt<}@>h}iGueH%=BZh+bWm;p6czUI!Elm>S>vJ|<$dxd8Wj#X_BsS}ng zrU4HKq>l1|)M8OxRp_qE9nkC9PVBmD!BPUm_dx7!t&v&wNS_8I<^XJCAq6#ygX zK#hoDDOAmS5zvgwDIb6$Cr^k`0?T2S34nHZ zaQpy`nhy&|kUpfx*z)hKsz*g<-ej{jj5G|_K)6)=2-5v|? z)B`u{{iDDS=MIn6m>>L{NZM=QC9B2xe<8m6ZL&bU0*Om9jl>UH#FE2!i{M+GL|RU| z=1AdoUa~UW1yF6OCok$!)h3j6$Yq>pGe@z~N~}Z|+*a4`cmAdaq_A9Luk`*$!`|!l zFa1E)KPF_vP*q2%Nm9%*+IF}B;JCtw#Lba^D%1ip4(}>}Qdo(us};2x zP~76HY+n}KZ+`?-vmT|mkf)8!T}4Gz8)h9?`M)74Pd3mkA*J{)EH!tjbzrT~{2Q3I z%)etk{@YYa{2bv^FvlPPYY)qe{ul}2hi=hvD?B{hFfK0-#mPJ6co?SXCMU3uV0PKW(jy zP7}E7p3GFN*Q~0v52@1T(~@ng|C4jyC?Hs+mkzXq%uam&|A>A45PoQC=Zd{tO(Z+E zo7%{leQc3`Lk&Fp`vcA2zSUAtoUK@w6w3n?&+9S5-9M_Dd<$a{M67X$+aGua$k+JuRI#j+$zr$+;$c@7IJ>v zFXy?|3!!^s=$v1ofAB6rpjy{lY%cHG{;bNk@VNzN!)+-^kkV4Mh37g`Z6VEc{oa|L zQK1ixldh4{#VV=uJT<+jlB!LjSLWgO=`R5(Me$EL7SHFL5j*oMr7FFyD=bkv{7uqG zJ`ddr0|zGr@&n5k`)&{EUi@dD^+tapVq5E#_%p~D&qu;H z0MY3G=n4M#=t()4Oyhp*uS7@N>j`V4o5^XRkO(A`4s5Z75THfCh4?sQcGfI}WO&H; zpyV$-aH`*-{YI5$*ngkIvh$J|c-~C8OuY;poI6u2yPEvqFTUol-(U0<3KwjbaX-K% zXOHTR63}_L*V=C#|9ab@Hm`hhQ)O{xO03ph*e7+BLR)#Ss&hB9bnYD8G4o+1kn&2$ zOmSw7hvB{|`e!QpRl+`iRf3)d9g#3IUELvpUAr5rPu)Lel|#$zllRJ`{*(9nFT2td2Er_twZ9YErY61q8yU+ySjWnRz}GL8|;^V z{S2xyH`(NahM|^-`p5uIVn)zFpnYkns;6_ccJ8@IdcOVy)Aro7BaV02-|e$~wHAwj=MKL=%jwXM6LUKG>MgpBQLVwj6H;tMxODIR+;e^S0HN<1fCmORYVf z<9A#{sro$6#M9Qrs-~CyG;O5zbWa&J=eYA&+@E#TwYE*?m`84goASJGK|Il8l+t`G z8Nh0(=iA(WS;DOS-EiKkrSdqwf7(sn$zkLDq%3=z)M+1E>T4OS@SXw-zI106Tjx&D z7T?-qY*GFsh2ZDHH+@a8r#Sup)xz;e-&qp(^C(hjLe1HJ9h-5&|LvZrca_h#PUpog zHjk4IfP@LKVj#iI4mw{eBG|(D0%9RaWqy+N2?E{39yf;MpgN$Fiuo=0QA;)ONerLG z(D{^z%;fO6jSegaW)|!o{ZZM%#fj&^MMkY2AMpJCs-v#isG@aAVn3IVYwCb*3*p z^<}MsWh!0{rxx*8%i>E`FJK-Bs@$c)s{Ll~@annAQHkm$T$`B+(OC5$p)kSCJMqSY-}(sQ#G(Ci^d&1= zKMtgq-L4jXd00$2QcY<0ZAS-5$6ajJ+e38$hRCQ#Fo1^dfRP78Xmt{9%L(HjAYwn1 z!H^Q#+wvG0j)foQHDoz7Bs+@=L{lwJK=<^CE!)1Yw{a+tQd3p=RMy5UH=+};q31P} z&7@c{6Zc(F#Z$RncO^u+6UZXv0uSi^B5A+hmJ8y)I#7Hwm;Sp01&c9i2Te50S8`Hq z5jq(-*$_g%Mz-2>Dp0(<`m}+EeHN$0&qS(`#x+8^I|a$`2K%seoIH?iTdf^ND>33e zoq@__T00jnObM(Wn)a2j3uIO8SCNyYZYH&|)3YnJ!~3M4RB`2ongF8{H}#AE_NCT! zXU$&aW~r;Qwkj3x=z-Ba-q?Kw*UD%(^?ld(S3joN8001?X%I%z>ORglddJt9Pk!Zi zD+2`s3C+y%+OTUCW{5!d8$DAEz1BlVgm~@A2}zAa%dcTG@<_Jn-3NDK!Ldcwoy-RU z`&bhn$I-i-f|<`fPT1c`^$jXrgb})Y!g)_QK2VVO`Wh8@HRT5OQpnDWIhJcp45-Q8 z4!1bv?{5D1sFuT~6;NiaYE>$Ui1pI++bU(^)2!%O2*P{PT&Z)OFSf$u(rXd#B|JM< zXAkUpmu--_mv^CaYfWG22GboXs#UYe-mzAnqU4Spp-iyc|FUJ0xR8;68X&UG>g#Hz z%rDP^vo@#v%{}N((IEhf;xB0=cE@Z%-AdA6KizxvS%9U5apVTHz3A zX^a)mnpolEF@sicuaduDh)w<-HZ|5L;v9~!482O%iHv0jpiAh`Dq7r0?%<*E4RUr_IfmiPC-=t zV$yFNq-a5(#F&-0MN*kvG}zG5(G}P#(u)T8>69QqJC$hbo!1<}M^*SN@uU06x40!4 z;5tC4Kv*sBcUYCWqH&kAC36YRcPRz@g+dFQ*A~oDOa(y%3VCC?LctQxs&hwpdS+?bXV_c`<8tC`m6EVo-m? zK)+?2luI?A{C$eSt2(KA#O`VXjkjSPE!Oi!ty3Xein~7@a_EM{Mom?F=Xl{|ys11; zb^Pz7J+t**2Fu2icHVs2=y@$J14!%H&!el23?=^AdTvZo5CIMaDX&JTk~3x94L2wj zUPB78JhcdoUhwMv(d|Oib^PpDFD=Sb4TXV5x3?=Vq*V=#+({kcf=%#w76sa{*EPXnbTwEn_ZLiuCPQhbNk6vldQ0at|00xy(QC;1hdo<-oy8nF_+@dtE>Fl8dF5+3pj zTA>5Wfr&dC=heNA4Yd>yIVowb`NdkZ0C{nKljkSI@1*F6lPc70v4;dBM`vqSrHoz} zhA++jmunO~+%$-i-$~uPdva~6i1tLqb0Nde>t2P6s&`VOAK+3%wI|L*C!sdvO}_R( zN->LaF5^+*^aF0Ys`M_TPcS4m2y8qMPUq9je9qw8qSkCl3p6R>IO$(cs%4}hmxx0| zJMWGp&8&$7%PqOoMt#V>7{KvE{D_Jxt*+AN{|aWDKaT z@j7}>0(dA`a-LDHIh7+}yh%mbY+6t$qPG;43kL%Usz}RsO>k-pA}3EbgY1rP@YE*t z@!}s_xu?gLt$Mu6Ccotjg95~F#lDT53|xKSUFMmHlo?sOISAiYZ!GO)7q`+&g$$I9 zXb^y7WJ@(7!cbV$hl~lK7H&usVCy_ZA9g14zxHRc2~y5`J*h{ZMEW#JVYcA?ZhZQF z-@f=lDThW9#RFxip7HmK6-f<=X5?=|pgoJE2$c*4L2zV7LDmlmHVq#D?c-fP$HMTZ1o@o3&wlrXD>+?Guv=CvnL4uKQRT=smo)i@UjEM;Tb=i`-_L)%XiNS^#PYId-Ouvj z9G||kVdq(?2y)S-G}fd@_cobL^?=!-QN)O8DXYxNNU;UfkfTLToB8kpvngf=}zY={h(E+0ZFj`6lGJhYk@{rc>OK||NJ*J zH82-uCZu`y6!{&>k8Xs{x`;SW`c(H(GdYd>i1cc_{g=S6kvhxZDNc_Ci}JgC?A{}d z3sJaDur~ADAO{=1l>J223`A*yN#)=|r3JR^0kP8-r{lwc^FrnPE{(Stn#$t&(D$xC zZMpq~>hnPCqNnI&;0;M1#))89f#h-L$CuMb*+3Edxc7Av#bCjr5n-h%viQ&B!_>4n#r~`#@E6uVGT1Ku9brab zjrceESio}iZ>+xtdzF8~J_0aq|3)rXKlGdbd_;lJ2(T6Z26Yq*;86dK|NWn#jC2Nx ziZ&v44j>I(*>JVOt`gVv?pzC(stCuXgXHY-jd`4ZS8h4F>$fkXNCczX)DnT-Oi||y zOMfYRgN>2Eci!af1IVtvbiCoLcNDfrE!KICjTDEE-dgo%|;Id z+|b*DnP8%@%{{1VG2SLhukNz-EYG9qQ!8v8vXkxPOudq#Ow!)J+r{ue)kP+xtHsFq zDf@-QuhtQC-QaUeXyer8jIUdUNkf49g>Y!fR%jB51ST%=7c_Pq1>P$u3OkoHean5k zmhJBFQ|?8{6$S2+WU8M=4S6TC*vQJ9Zy!D<0QNA#Giqfcu(<&xbSRwCi+}QNd+>|Y zA8BDTWd;PtF}1mpEaowOU-`%VZ$z{3$zapvJBWiT#=0YJnCLlF;Oq?KbeSyW+@Fdo zc#_Y9$oR(I7BFmq=3OJ9?mk`fzXKYUsMc5(CY}sX*!uS5KT$*x4Wl_7RUweS#Hl8c zT5C1yyX3Z4kW^G<_<44Pb!<3~kB<2lzH#ockItu&mN@RU90=OD>9ut2p764Wi7z>MnadY90~1sPQ8Z~WRz${Z%FJw2sEm+4p`a97^ZvsM@~~&0nN|l z9s=N>=Yf2Wlu{gov(N6F{roT4A3)eKdVu$3U^{iZo=+979AyavQu*L;YnhM_N4$XF z8gN~$eT2;SL0bjGL8_*Kn&>Ao6iENnkgn}Iw2vQ;wB$7yoaHJ&f~+F>?VRvMu4hKa z5cx949dtWM`juutAj4)SGY*Qsh9j~YFd-uv#}JmQ)s(WrsIN;M%7)pXqksg}xK9)# zW_cw4si&8}OXpbdX8lD>n+q}W5Mr;cOs*=l$pyFPh>$74{6diF&l1P@UT9Ra9Tc@0 zXQz}NU0zLcX}n8p_s>SAWBNZjQXiFz9e|xrpmy-rs$pN|qD(B01M(b!U|U@kdXOA3 z1j`O5tZepKZslsKlgbNYG`%-47pql~wMP z4@CCpsGS3FSwm2uS9JMCH{UPFLwV6N; z)g*R1M2HUw=g6{jv+dAFm`r;lCc)S?1th0?$FA4y{$4&dfw^i35a4VNYKY>|kAbwT z=p72RjDPLF8GI556J1RI^w;ULdk!s#YIw+Bl>Mufj4rRO;-Daai7KCVAV8!g&{A{* zqhBtXgE1`)#dg1IW=G4u^E!@931l_cd=6BscxNmKnD0-~^JWta|8}E9X#w z74IBFtLjCO&=S1=piQJ%NQX{#@SGr@AE}ed=Ri{M{PL6PtiH z0t9AM&cNmm^q_) z0Q`_!z~tk@eANh*-zoS~@kj@6D+(zO#4Yw3=wQEDI|S`1!}R;E2%?P-i@!8i5&^#OiK>$H(~?(r zM*!(y2(&(QAk!Cwh7t-8I|bg4rFt7_qlj%1l_XKU*zjdC;DmFiDY;&R_kby66#=%S zL?~4lsxET175S_4bM!VCemG^=JEdbA9wKBBPvW;vKD$>Qo14ZtxoyaJdwWV9{RQ)y zPEJl=j>r-ub7Um_K2(Y5+Atc|oU-cMMBR0N7Ks@&o^7+|SBz7VZ+2UkK`DzO4w&5f zuI2d>5)px1uGx%SKvD2xXe8xSUDPoFu!0qxg0Nua6#u-abMWTluTe8(!vf?Mm^tRm zX0WD7G)l>fsR3}7JfZ94tjDM!nm5z+`!Drsz8Vep>U_yb5v@1~AddiBnikVgfDE7k ztC4m)*f3u#F>i6oKbBRYE%hoZlaCnfy1kLabLEb#ZF!Z|0N8288JG`b*3#V@WDoCg zfmp5wDRxw19zuKHdg;Ify2OplR+l&2+-~e+6Gk1EKP~0URBjtdUf|CWyyQ;~_j_u` zI$v{DcDkTk%~Y;cO9%`>zft(I2&G!r=76l*ibR@%)tsdR_bKQtt&!&uqnq^ykRO2k zL@VGId^aO{CuFq54AH;tdCV@{uW`(+IyUvHQeG!peIBS09Wn07vJcu41ArbXusf-W z|7RfFx+Dwp1$1R%kqjq%^}-$oBp0bp7>H66Y7(kd*0u@l&PUAmbYc2!r=tCByf3G> z*FKxiCDRLRyt`dcE|irEFDgk%&&tb&;M(S(Qf!uKZC+uaiSP^$%jdIDGkU<9CaOhs z^XtQq8*cizROnAHDbJ;PD!g2_7W>{Wb-kPZb{0{bPe9*X^pogWv3tTA(f25^qiZ82 zbA(G{J`P#ZnHJ=CcIn&%XZ@OM243F`P1xN*7&(s&$bP6#mKAkWvBc`~AMA*ti&?3z z9QnFAGBIkmVR0o&7tGeUV{Rwlh|niy7u2JW5OcxT_CbPn_m29Im^valz1GKa9iGaE zWyz^15at(&(L5gR#}^g|%pAGWZ?9^{gz~1c+pH8sjY#-?AcvBe!i%fMc0{JCH)7#F zh(Zb^!CAL{?6Eg;H@|+OlQ?4Hbbi-+I?OBMjjPB(kE{_pb8>|;;?w$8y+$S@E9@Cl z4FVL9q$xs4$8W+rtTqpU%uu01J{AR?txhSleolHx*amOfh(P2y2DzLw0*NAnWJo{= z$XTDZZWu;CLDoeGB^?vRV<};-+dE54Kgx?Y0$g^?cJxU@r@vRckYHf$J~vP#gjf3< zSv>X%KD`1o4s<%$Y~keWO2*G%{gdTzwgZJ=8g2!-v$+6!tn-$ajg12W^ymZZLLfM{ zF7fghEnlX*5#{~dBZizTi_V}?*{%qeH^EiC8VV0uy}2EKo;Fvna)kf^p*^Cv*mC}W zqf^RieQWlpRFEVO-=JnnArOWmTu=WAOZYsA03_@mHQ~BWyZ9txYjzcW@pdZ0+bEae zL$Gp@zv+0?v(ij9-B2Kp>u*&kA3-2)MZ|(&p{Iiutu;*v=-@*Gl17jqdbQwdy#zeA zaU2OwZgBptc5EGzp_Cv6lwYEu&CJ_DNEH^O(F)zPrU}KDxfXfEX}d@*`MmV?>(?(8 zS~i%O3*%fP6AUAjyi_)f|Y*O83eZ zbxa}Io!5)(Mq&VgJ_SKwBoG#+ZihTK!v(@{0gui83HKy#uUW)wg?Il&4?V_5g2FD( z-*#Y`b$8YiwxN)?39j4@P2IryQ0PIcXrldv&o8GPQi&5Ti=94ECf4U6(ojg3L{qoa z|Ll^z>3-M_ZC>B}G0Ysh4DFuq<=J%+(dMq7hkvK(+E6N_~=&zmd(L2_OfC5>@C01M(3LB)Z|({6)aS*XMKO-}LcQ%s}Mkoq11e zGFaI`N-|2!3id@a$HD-@=#8RKUA)KklVGK1@M~^huq$UWQUH{f6tX4`YgXH&Yb_kA z8a2?QWaJa9F@-$>Gq7Dc2Sk(Ivlo53pkQvtF*+;EXJ83UrF}Z=Xbfy^^+Ga5R4cU6 zB|$DuPPsWb=z)PSZy&Pw)fkcynl1X?0RY30+&~v6qNuXl()F$TQCqg>BgOET@I;nv zFknbtk8yNaI>Tos?JG-aYleKs?u((M9zbP|gO^;;Lb)4$2wGyyy*pAx+Z zBufB0bAN6qtd$OtA_R5ghusp!*R2}{NF!V0(R@r4S(02itSlxaPWU%V5s&iTH>nE1 zJ#eA#Fll2Ej?vMiR9l9NA2qTsA8Qp*^fB*Vy=F#Hx#IIVSDuAloyY_BasD}kBUCgg z$0(o6ElG}UG=b(KZq4^6Q{;~3#fX+aKR(Etq8kb1o+OtPVH+n9tCkQzF~wLh6c%qV zKI&%)Ovo#;82I4uneZ-}z&+|RkxO%LhT@0hD^#&#&tT>6uQfO7iPvnU^4RA06dIG>;x`+HMVlF{T#DQhjG+R9 zcwe&6@1y|Qm){~6Nr*>wuW>OP>{Q4{pe?S!$QhOUOsayL0CeU7GG1{QMIq(($bkc& z_k-U@3-(w&4(ot9#6(+r1XM2IOH7oZbNcY~P1Cx#-GM?r5EoQaTYFl-NY*@M3eqx z%<5R!W73#cc}%P8X@quv9~=%@JVjfs-9dWTY?DO5JvT?qK+`=%Q2P)?EXYC$v3qeR z?`-9EchbUc`6g*-ZT%k@OEm&+@yj_Mif+lip}{MBBgYhoR*rnfIi?YF;D?cmDk@Nb zopq=gX~X7|#{^zTb$za!h0+E#(6P3fq{uPW%JlBuv8A38oV6~B40&@}tK&+7GCS?i zf$fQyUn76^aaKE+5F~AGvKiUWxybmJ44YVtPss0T6i5ixA^2r~7>2Mzz+iUl++}>> zV6sX`iW8o#CKHpC`yDW|(<3viXA)nyWIzIEQ&rg&?NC0QBphidGXw+^Fg0|I*%iz-Dn}o0aUaO<0v@Um^uW^S{o7| z%w~-CJEce%*5_{mR z*Hpwb~Qi0ZPQ4NBdK=4h!N!Y09L5 z;(0-;Wf{MH0&HeZ&)4cL)!;Dvh=?-G%&bHe4BiTq2;fRyN|76u6UJUSwGJ=}QUXw^ zdF{#ZX%RZBhsVnvB*B>0gf4)t@bz}|34Qs-r$5C9EAC_+;+B!b-*`Yzq;2y!xexsY z;XSCBnhBRsucQ?}!5(**DRMv4AGCUnN_8q79v+*R7zuXOdp9O5P z@;)i%6&Gs53pk6~*9mMMvJohfQH>g40+BTq{jxk0Ce#`%LmnDZ*yZ|2;fBUfaKLQF zaeBA9bfeTI06LqOFv9TXqEw6Y4+;`jp3#PXbmYl+`%pSX8zP$9Ro!Qp68eg2K=3iL zU6Q<~|LOp8VBllAsFoJ5#lb$LHNkWRkuy){85QtUESCjm#x_ahW|4w<&Yqi}&v-G= zCti0r`Wl}{Qx1FXY5+ISLOGLJ&k8~#e1;#0LL2+?uyFE-0^D1`H4$4HOejl+F6Ysi z*wFk`*=c`fV-RB6?9uI%ZLn|mt}_q4W)pMJ1aOxM<@GnbXW=*VhD5Ls1SpM`8oN`t;l~%#MdCZf#xO;RfD5aY=c!fSf3kX%y4vAdm z7^f53$Ty8Ne$8ety!>Bl2oWj+z;>FP*Ig#HF!MloQW{0vdo0*S!{vIkufmFB%4S7a zKYUYIU#2!{M-F_w6P@{qYt1~9+#KMF%}&tTGf>gdBga>MT6D5~>IjGPd!EK?-!9jI zOixY@fg`zP^Ld#+e!tLhvpn#OhW3V&iomcMnka(^Ftz>{$4%Y@=NA_yJc~3X#l?Pr zs7~>uFVZv62#Je}Bj*81o~zF5(uZ~Miuwa#tD&LLE7Dx}+e)uLF983t<-rJ<93j8g zr%t(9h04Ogx;=H{10=hr{$OT+{H4Kq&OZZ9fO*p3Ly9(IFJMritqC}xv#`PIA!P_TqK>`zx}1U`|V%CRO6ZK*dHn@51LO0K%)vGaEx=rGKYc5O&mQ7i;s zTcdK3Y%Z3`o46laAz3B5;S96ku7r$TZ(#YM))1va@|

Kx`En2Y8IuU`pnINpIe}|_<7yr#6lh`7Ve0ps-r1>@#n1u;Gre7oF zvl=+(n`-nM5#f2QI!-;9C2xD(5-@YAG-NVT6hH1L7AhnO4?y734fVCv2c{_9ce$2b z*az|^!`faWfT&CwY+|fJkJfZj*aL+o@GoxJ-N`R8hm?kkAHL+HsRrY|TtqtL6KpCG z^9oV)ohuS4Iyw9(AiYdmDzWu%pMKVe_D#TsYf&1d*j_5K(B0jpNg9w$AP*xK`h1Eul2JnzdJ ztIXo4c4oBzrlr_`0x=%ytsXQYAHnfi>w&a^*6If{(^-4n=LPBf-5^2a$15hLyn=zx zolR6|1V1qbBCLTzvWE(8=F2yRUAM_Q@DdyLZJw?+?|*na_QFk-L+y6-D8NEvltF>ZtDuS@P%S)noN-#zYSaF3Ug-`*{Z7-eQv zf<+07F3U;%G@-rTjKB%jdl|Tq#w@4REhL@WsrHNNb}pJjHtiRQNGXp56*bflFV966IT3c|zh+K`(16$W z)*|t!M-(O4fb7wPm2>5!e@2xKJn+Wg@%7q}?ex0wg8mNy@br!&Wq?de-qX1(Z|0&N z+Dc@oFGeimy|uT&Li#&(RhU-?;dSsU^EcQSj8YlV9yBrB-y$2qr}P zE-k&9a6bINw9GRXNroH2thq=%s=U#Cg;z|EPpm|WvzDo1ejCjnIpN_Bs8Hiqp(5NB zw;Nje%C#qZHDiiZPlAhTE)gUa(WZIZ-cAzR?$)a(;Cv#$?O${|w_P;%$w%GSR1R$S zbFQ=^?u4{E;TBn*waeY9r^bQ`l)sq7V~%AUblHx&K;J(;3v*5zADl{xdHhh%;+}$y zH*!0O^puW2%RB0mR2c#xA0ad~R^ona)4|=94ducW3 zQ)bN_cgJ^@^dXTnGT*(Wi;Vl3q@H!ViaFR$flA}RfLTl*}g zo>mqtPWf4yvVYx)A+y<4V0vpG>WT4M-M-0Of7oqI%{8}g6D#88r%3oW?iEmmFl4i6 zL>xKxv$-XDrgjn)*Nt8jNALc16fp*9^#ZDu=>~qjqqF%<3~+a4W+6CU7ch;BKVQWo4r z3BUywK+5wgbo5_YT_2s_e%oW+X6~*czx6>GxycC^eA+-&gx%FgT(upj!hu{R%F=BdFoG(j92t;H%UNFmq<52|WU;jV7!55Z0HbTCA6jJZSg( zYO&6AVv_5ro3*NIoxW1NtZvq#g|$^&|4DyVP$)HHh?wE+5*f~!CrfT&;7<~NbY zg#!Ry@KwK3)2FLUS>e}4xRT=J!-u=8)FZQcJKqDe zq>V8(V}wlK4TqC21No=mVt12#iY6fdq)|@=NK>0I>wC};5mR2@RH3wE(Wo#DoMU8U zA9>}u&#wazHjL_13I49cFl1d*+pH3=Pfhs%j#pV^AdLliS#W350duQezWbX^F4SnW zD&2jYx{9$Wn4^bDOa}G);gYUS!Qa==M^xD1r?ZA@xM%h4(=jaLn_ympy@Ap8x_aiSN#ryk}?FYjA-X1g!nT=dF8MXjt#_2$yYt0Dxs=V@c=%5Wv_NMcRGc z+~kR;ld#j-=Ccx+Sa}~~wkc1tZ*$kn`U`5L(wIH?N~Dh4qGd8aZl$<%FMFqGayQ^m zz#gTQDdqOABR+aQNRtSUFc5mTPb37H?}Ht2U!av7ZNnygZ})WVpR6JS_fSlQRHXB3 z(b``~aP!q|$|SQO?V`l>m5v$^a7yp@>LKyua^kN$mS?N?$jUer@S{tvEx6X+QR-jh z06?L{G~*;f8)baMm(3*=n4lrzDPzVb1?Hy~KI-LGhRXCrEz+}Lc( z&coa69rx*Vg23aK`q)!^L(%`*Kfa0?Sz1@ z=(VT^4@b8}(W%fo%NnVK6JvpY}H zV7Gtgb-Q?&U^^?EuZQV}9~YGk8fSX8?15gHfVIoyzw`0_?%i3>!5IURRUABBxf$-Q zoMAE?=dOEM$({^9A!>>O{t!DLX9&MD850Bn9{F^VsNi;yAPExNXUtXO^v3~iZ~x`o zIUAogj>iI8yKtEAoNk1mdo9QK_3)kxpJNMAS*^3A;@~*X?t8gLyJp);-Oo(Q4z|Z; z8yNbeVFYuj%3kg3-Ri+Ywc|5%#G8kLxilVo@^C(91KS~GcdB}v8-p*+kilts^FZ}V z?sv^Fblce+;;;;H+Bi}nn?|6TD{ww#5XbHXfIZ#zSi@uR)_yGrYGnrcF6l;`Q8F(p zrAC+@XE4n+z5)S;#Zb?CC3$njAB)}RCPmC2&mW5j%%Ha4s(hScZf0;hKJQQu7Owq{ zi@O}ydagFWgPhxRdY*%tUP1C5*LJM`mtlr}l_2Q!;qyTT$07e*z>);75f(rRQShSv zIJw$BKwJIbfTr6%8yUR-J8+qjRNlWs$NH_79@|6g7Hj;Tk6+-i2ZK*5n#(+_dORmG$t0AAJWqW5yfEX0@p0yG+d&^uiXLO*02?hx?pbbonJg^v zzc_fT2GS|7Wx|~$*?;83gihGHY*?gWkMKXf?5JLCy9Oh@J^M%7O8~;w8#LP`YonHO zMklSMZ!K-|(tVN&fTk(EsnLNA^zzC6G!Bus1XVNx7a$x)p8<(*UP7_6C?Lo)!uXm< z#NJ{P15g#o$>EV)lA4oaG(J@47cnG&CZV9+Lg&klQ-rnF*YZST5bvtx)ld5}=0n2#_ltx|Y3iz5rBFYv_x0x9}q z*qF59!*nPXzLgnkm5co47?GyhmjluNzwy6M0{p+qHT*kkHr{r(4kW;Ucb!GWky{P3 zerF~{1hc#UjnuDzDQ?rA#OBhC$?fiMdkrfp1Qcb!KodOvAC$=derJO1{0>6!@v~8= zB$nHvsbk*U=9jrGp{9=H+s-c>ms4FVlX+Zz=R^47U5+vm%&)T78&eoha>>hTKvPtDwx33~D ze?MEgS-h}=x_YqKQGM)bo-d5)e3YlKc9rzybN7dagej>$)~DI8$n3yalX#ocY*Unp zbig7;%lLtlC*WZ+{xB0U`z*{37y$;!XNWGqk^;7VAcILYuW}5>Ap(Hb(T5!&oo+>p zX6I<2dDx8GXv~VHC*QF(*7|7D~xw>>kG61#e0${VwXV)Hjh9|Fb%$DMzjPxO=@yOwiLqKs}z?uk80lWB7?5adKu;ejWat4qfbXv zM8$Y40gP%@U6ZaOz59ejqOYZMy%#zD+<457gPN98MLFCKR*P~w#i@6TsxcwP^;iJ* zwwN0Sw!2;AMbll8&#HQ={_u_P_Jjj__3S4y2>$Sb3i5P3S2>-C1?jAUuKo6YKb_^_ z9*8BPQ;3=>sL|Qj|J6VK%vFt;Hb96wJ+VY`a#iq{K2V#qCw!+B@~D%4=5wcd0!pM+ z6Y~!lb{+p}aCA1kxeGZ!3IZI~?Q@|Q-O4j zi(Y$_CF?)9qA4$bbdlv4S$>F z?Cy4?h?bt2L*pXe3Rg5g+*Hv8bVA-fx;f}nuC~PvcE+ljA}#RJGa~b}3t>9td3$>6 zDwiE^A0*6bCWkc0(Gb{(K9-{Kr+5W!XE!k_<`+OfJT8PTZhKZ0^ z@bNTnW;;{aD`9V5DuXk#A}};2RP6K50V++n2}1``wW`-V#PyFi9d|U6Ge3$b5}W_q zAmwUFriwRJEx(VE?(zWzGt;{)?vpYrdgQ^~svgc>l&4^59BG)!4BLt9x`!iYsUyC#B)i<^I8#T^EpO7>~N$7UIzS>-IYPIdK z!#i!|ynd{0^>*|89;Y9u95HhDzu0^4sHVOzUNEA-R}oNAP-zy5bOh;D5s}_|2Lb85 z6M`b5BE5rv^xg?bNodl0@4eU1Lk)AH-``s^Z|1FeGw;p(_3m0(ge3RebI;vppZ)pl zefHMDkh5To05EpaUz?sB+b}0Tj=NFp#_!?*IN>%9KELa=pA^LfyxlVhFCELD+U13O z+dWhr8`X>Wq=Ud&C-=N0&#vwcEjObTuWAd%kH+og>=oQ7UJe9I2gyVhU~=p zW%uGUM7#=bOrin8*~gr&E^Scuy*8Am&+Wj%oB7d`s>tut)ok{!pL7C7OFtO?Pa^DS zfB-vhJ9!z`@+)?fnW7EMG~*t9aL*h26d`juCvfakib*$pQ8(MSM1dB^T zqf@>({{y)4Zvz_yXI|EY><`q!(uf2xX#+T!X2<8MV^u%fYPH97X&Vq10N)v+BIlNB z0R_0Rcfd)hrt>!<{(Y2|4!h93)A!qR2rxLMN4kUvTm9%EKlGce4fQDgACS!o0yF#! zOELAfEn+3XMYSSEfh%KGb8JaRgGVWb2EY1uyT!A6TWRX$(j|@lgmi;8d6H(nD?9Dz z0U}rPZ2ipOhT<4Hvqjs`mAGf8W0;{xkm<3V)qObI^jFew15{1Cps)xAW6(Hi`P%)= z04@`w#StW>fcG@|%kEA}SxC=}X2W`I-`_>Hk2w-}J(oGuT2iyebWBCn?qF3{SDA#X ze!~a6r>9#syn@1mhhsYl=)$>5N6L@hFys>ghc>%YQ^Op*lG{!39#%HzhsfMt{g%EH zD=k2GljQpzHzanvWV)t3WgPCO9GY>vTl8F4mQ1dUD5Y_;fh(0Vc|CILpW+sM(~lIn zB_tn(CBj>#ys;C5ArT`c)JC}3s3~jAzRltR#>1It z+WXyehr{~XG)2HW4MF#J!v&;@*u{mGPlm?$Yt9uOAQ8gE6K_=i!OT`Y_h7r`19Vl- zHe*wClxRb>sM z;(z2fTTS>`j33vlP11hqngfHMPH zo;**!_OSAi{qf*uK|%OqwoQ$m=~@G+!ls`Q^Zpaxb`qT30oI${IsO?c9a5XM31z>c>mx!^|HMGFW&y!eJrmFBT|fh zEY;0@5f@E<`Sq1A$2Ub;xfH2yuT>X0kEgRqwzYpDc%Q$Pk7N9|#kXo^;lklz_9>=G7TR6p5GwAVv6It3$b3_+6@Xexe+79 z9JPjLl+v>&DD<) zmCjaLCE%dD$!l|-%ToOtzx=}FEKY8IEpF<^n#5yDE1`f!>y@3uZ}|4=m~{<*vDciP zTl)*5Vmmi}iy#sAJ#dv(2EK~u{?Y$&Ve0E5za68|O<)S(dU;cOyI{CtCP_CL$4EEq zzP!i7)t-*ei<)bxAX_+kLV6iv^PiB3v@J{iHmolhocxk)z=7^j*Mk|&B!7U!DS5j` zT98I48ELhSoz#f{fM-9d+`LPh1Jv_v1`EwRv3QcdbR*b(ZC-jb3%ZV-AlaFgF2?p! zx6#+q_>!Ll4q0lbbk`q%b*-w@>VBN*%dbYlbf_|L97@TlK6QG4Bg!E)x9e5H;!@qJ%Q3ov0 zyd&n#L*4=&);3>Wi>4@j3!~v;V46Wxkcbm9wCsD-b0f zme<|ga1c~x#@qh*B6D4gZVw{LOn$a&!2xc-Yws%WB(IPD4-4PEx$EN+PormZJ2;C| zc^}L(EJw!45S_PtRnyrl|Gc?>(tZ=DOuVnp&YM#B)SgX&IkxoP@%Kfzs*)9p)bFbV zN}(xHeiZxaX5&{NZ2GI8u~ux7<~3i3`C3o5Lyg^q+q)Nw8U({DYmdV_gV-F7M?U}U zcnSzJC#>bWWq+9%%xb(NB_M?{!XG?g7`U%_%loG#EbymftfA<1>P9ky4F2zw~2BGve66Ev;yoGlSH75VjCY%Ko>r%aoNj8SuU~|+hCKC`q`P?lTH>mqV z-F`PK$vO-}Me2>d(t30KLBNPfS)Bu1tXJ)LiKVx@$^#E@c653wKwxAW^}>> zXk)b|e=x1!D-4*_69>OY?%A%l6MmU4aj19Q=D}=L-v=O2^E#QhZ~XBu z(RNQUP>JhOVIam9fwG|9W{e%Z*>S}mAEm#MRLAt|@JkEo-~A#&LETqg)Em zpeOpbN^zG(*0%MicVAVlo-lCVqS1h)xXRQI&QOcVy~KZB zcZ+zY(9x}1uxD~bm~7A>>!cHbK1)@mEM5?qE*IS(X%La*kknF+OYfoSO!P!#%k!jW zkK_uepVET8sXC{f&EL}M6SyidgTJ)60&JOYV2eE5d;2E=Zh z;1nC1Ift%elJJ{#hAm5CB5RA^1c*T8`%e;m1NXRl&c&8h{79OaB+GR&U$hCU^EeVh z7S{Ihob#;ThLxp^W}jX+ZLyZoX!b~fu4Zhz9&6QvH2X*0Yvb-#sUTb$D}LZ;tGhk$ zQ{+W1G(8TaCC}uEV7ff@_HLQ*cS>#%usO?D-JPc%(Cj7;dRzPc3&wMyC>D;iGA$(^ z0NLw6PwRf{!Vj}oW>3-_353g4hc~}QTQB8nr~SAWDY@c7#4Wd$7^DO06wd>C*xUkQ_JsUM8E!onIE8ebIX&^PSJfoTWfs>_pq5kvmbuH=omxbf7 zlf)`?;(*HnwNxGsX`Si| z+bNHH=W{_9@$19n6KoS6aJl3%iQ#HT=WKp(Zhsc%HE^bKgllm6Euox&toff$PxkOq z^r?8Qqn@L)1$qU4vLX9uB*%5b3q_{&C_P!9taTnPDDj78cfz@S3g3Zb%&1=_boL|5_pzFI$nS6)tkxGkWy36c?rWBQsOJyvM4} z9GgG~Y`*Kh8TilE9x5v|;}_$wrf!5FL9dk>&HXT7^bWazr^xEPuZnvrn3@=#X7?y9 z(RXFYai>NKrJsu%Y#rI=VaXigpuefGFjGqdLyvY`e%v;6u5nS)wN2;?n}OBt4YS0B zBO#s0--tCAwUwYTI(xNgo&Mw7_8v`!9_Q}+Y{VjBpX z12+V@uSautxNdDZ%`vF`++Hg<3ZACYftm1MfMJe(7e2#QE>BPF8*4+y^@R(hXWSj7 zq#exStFy&ckbC>~SF2we!W07aVdg4X{N&IpF;FP-ClY!PN7H8We9gDx4Jv?9Qai^X zBH=a^b++0*pN3NSOwz#6au+$+TJ*c{2sa$P1ybdeuDLbnef1-n__c+T{H0`*RLBcq z_trRAJ(G?BuVh84=D4L%n!qIN1;tHyx32te4}7p)Uw+-XAkT<-3^F^ZOQCMx-&yS! zsV%U3gqa(FXKAPgTZiUmr~u(>Ot`x4b`deIFLc{-0KSq}5*?ZQe&yR}W#=~>>*MB3 zT5++a=339^Z$9v^{wEe-O^+uroMzx~o{Gn@i|}!wzU<|>NB@kXnsscBaFuw0coWEM z2@mGern2`$je2=%RX|=Q3DNcyTRH9E!eNjW`m(S;q6E==kGtH_7 zxfi2{toq5yRV@|umSaX(*&NohCDhuxEor>T))6^~rZiItc( zwQOstlogq64U21AiG`PMKDC#KrL2RR=#0jWv zHlCx^aLe{LxY=P&ImXY_&KKsYUR7H4ArX$e)z2gUrcCer`dibTCx&?erV;OQ+4vz% z6B?#+I2x6CFkYl*Y(>Du?Eda+4==t8g-{q8MyKEJXba3D+&p3WNBmZ%7P+ z38qsa;oGCrnA-ka{+ov1PIuLwPe=+Bw8*OmQ#R59yiBr*&deYh-dyyfHT8pCH1{Om&yXIrfX2jrpyGl`@)l6VnxUTtYaKJf*;s&eGaS**jc5QSJ%HA!q`nN@cloB2XWpgrAIU;Ce`!|gEdRbv^J2UnkK<}USeSVsUSs2 zlcBu1K4e)Aj91T;VzO`7)%AVc!-3KS4=YuBD^z9nTjt^C6mg(jo>6jeXepuc*of1V zVrc%QJv!yV;q(4h=yjA{L}8}pn+4_JV3^F#3-Fa>+qDW@=0u?Y1GB3(x{ERLD+EH*%+V1wZQDn4YjgoY|8PBsrq*j z9?3jMoQdoA`~9ZDx)4R$wZ^eI_WPzN_Q^Un{4ftMt$Lftq+9F=w5Kvsn0GO}qEcW@ zM@_d#picq+Dz7M}?& z;bd-4NIP}+Ha&Mo-){=1GkPAY5{~K}V-4n?yi$2J`MTLH7ms=UAK!JNezYTPREdX4 z*A+T`ew_Pqq_;H!tg^LeSzv6r(%-#|LH#?=V>f{vb!B#T%#v{oZXq>7^rI?=V8)Hh z#fq)7f4tC}!^Ntr{jG(_q|giVB#f|Yzx^9?8?A5p-zhw&KR4x^Y$D82ppOabb{he< zFC@b-ja3{%!jkau-|OWAni$Wv68d0$K;;!L+Koo2)Z7Q2ZB?1A+~$8uBB6C zKCw*pO=uAzFKfGoj}JfCz4k9?GJC`J>np@UR6OK4O&`vW=TL-%3+P&7etuOimoM|5hx)zQe9N`Zk&^rBDaSAix|3h zSx2#lJLtG`o;HGu_r^c-&(mk=c75+2svPE2(wI-y?HW9BlxfEAY|UO3afFQXS~3kn z*zFq?s?(4A-~A^rh=fNkX^2h|LEL9U-O(FJfs|xJh=XAF99^qC>t_T;EDR6fPNrpPcR~(L+ z&w7$v#Cp*|4oVy|j#qjClZf3B3k>JaNY`Mf>XiDq5bwTTN`kI8j1J=mnXW7pt`D{X zg-&S9_4j?AJVZFJ32~iN^`i#RGaJ3Lc5h*>cAI0pVA5fnRvND79%YmiY7bq&amPKO z*Gp-p;Jv&}A~t_36R~H?kd~4{*KKrW`e9P{7uo&x_qY$|o zOo*Ja`-RZXB$=sK(oau~u1lnCdxu>97!k|)Z=!pXnmp#|(*UwroDN&=p@XIiEz?*M4J|brj(MhVHR>FJHlHQvRX&xdnTDi z=EF2mmfVPg`od1lh3wo0N&^pt~RbpyaN6A4@L^O0LEo)`bAik#**6qziZ zG@g!?bU5mV2eGa~uaIC)Lh2KJEIxdH#sSiKH?NwP0eG!-_`79rcbUN%CB$QKy?D%2 z5ko1h;?TorG8CD)xFUHEFb8Uwo|ZvG?Mq$HZu3>IjV$h-}hbvVoNFW9~UV4xb$_(DtPK?&Krw)q%p z=^7j;74E6fjgxbZiTsi!-gj)R$n4s1m7_>0aDjXSRx=3BoxgRICO>z&_ zk<0tHrGW`1-b$pb#;H2 zQ1JHZzqP|4|D!+5Tl=@3U)>ht{h-zLx+4Bb@5+nE_o_E@*zD5*?4wBu-?B;AcFG+f z31PdX=JHuQV2=Y{{6ssQ)l=*Ap>!cn*3*1nlJeph+4i=gXFQELewDGH)Li({Nk@jB zkY|B(HR+PM>Q`x3wdKjdP4Xx7e9&aD8}X6tKb*L1G67-kAgo#uYpg*wluS{HUl zb{WOG=&$`-W);FN@g!`zW-zlBmZ^EQFjSi}4qx@&hl}D{pQa^iei*VgPlmBqsPY-J73FlUQC+`s`a<^|f_X1eUcH?M3 zwxLZwyLbFmb|Iud+_nQK_uxm2?5mM9n!2&=d9Bfwip9)9u`KlQ`JUnpx7}G?+a2NB z_1?k2h-4GxXZ~;Qq{w~4I6FnOu53+@1 ztt7lz8dmSn)XmDP+KVSQph>}mtG^f=Wwn(K{^r7}zP-LK*#dcl?e&4Ygtl=Dp!MLX z{OZyK3GLlQ&pL!lADG;hoDue5AsvOja}Nd9mII&F?o6MfE){fbtHXkPZ=)qs01juA zu#_q_g%_@kDkP?hc+R9Kt~A~@x8uzUKnP=n098(yJwi5kc{)UUad-jGVX>1LM}ydo zLj&vN&ViV$QGmlD34{iYuiFS+^8q3bSyp?!F5;|e&4$bkncy)camO^Mr_9Z8pq3@GpUv$P_ySSn(Od zjtLJu2QlsTl1d{JX75V0RL~N{9qa8eN5_Dk8`=v$J}$V}3~`83zXQQhE?SX-F`qMm z1x`YnOvZe9-08)k2ON-0H0I7V99Ci?p$u>`My7?g=BLR)1p}uH-50%b%gl zsX@fDTnwahXM!o`{~!ohKzl7j@aqXZPqmkquhbEi^ zJOh6Jl0Tga#_{|!ytI-fOO-0S$pVX@PQhqI;Fm?@WOfuawF>BJkbYu>rDQh6y^}SB z`fCf=VcN&5eZXr=D|_GBcBvCOPmu(*XOpk*ekj%Ka9 zoq|h`xGT;Bk!re)rSn2eD&CLGdtEHbWYVlTB-u`y)E%a4KHTwl%4y73XFUKkNJoas z%|(?=fg?vD4ecx{+egkKbreQ;kHGWxsk|Lpg>E(*Qxz_eEQtFgDi~ zs_X}549MuhRDEBwI9kc>^(T=?n5@zug%Ad7-c3f+fU(z@e`cf#ctZesJG*5napzYOO?!_cH(o|X8 z#Y<<37D64`liN`SbM48xP-Vp>eNAg-s&)l9D*X`OG6 zpmAq)ZXe;s?3L%4?A}NixS{^^_90c(BT29d_l-qBGSW;8Gzh2qG~c0z?zWmfXGnRk z;F1D;E1`|=oZOOIclRh(`bT6%q5C5SP~R1Bvv{Ji&){1--6^H0531G(1?hWBiA86``| zR%Awp=Q~3HAQ`0|v>W+(_v`mcm7$U8!jKU*GgU*S+uu}XIwtNUF|6n)@OqokF<6>c z0(Pr-x6A3lj*13{b$foHTF(bO$vz|61(vHWEX-=H3(;tcXaE$_=5+x(dh@qqI*_3y z>nugP_veUm2u*b_`6X0SZ*g$W(%0kkUG?;a9X%YYzBY2D082iXm5$)C%5Lv-B-DLK zL9_;Z58-s&#Ppw(gBb2Ex4r%4Z~J=_pf#@epbFw9Dl&eng>r&VPk@1krPveshLW49 z3gw)uR7GAs4-rzIZxW%>(|Q)3HaB|?Lb3jRx}y$17!k0oi19Zc4gD_q9?&e`+=!W* znXR;}I=w)IrA@*KR8LwHN*xQoELsP3L!M9MFQ|A0i3^NshM9_G?JQuSv zu-p9BqV$5It2Xt`bgpin(Id0CNLWjlELo4M zC2YSgW(xrOi$El7HuL97`byxu~`=KqVSAIGg7E>&p+~^t5WEbVv zA%7SoguIQxF2dWoKMMPqtG()rg5ZSfZN}DEPHT8cSarn|t6`cqdki@{49O{p-k65S z2L9JHZJ{Zqb1K2W?y?sUKA&`G=n0Wdh5AZn94K z`9Y~6wsAN>hf>HWYhv~a0dzruy~sLVU7CMjbK(Z;_HqrBl-sZJoQoM zg9UucV(#)|{9bZSf|XbE7{B4XPWuV*kB>Ehe9vg4ZX;F}EjPkfq$IRk#WpB zmUzJ&@#MqF$>aNP{p;rzXQJs{Scao=7Pqcb<*^L*<78r1m)-!%8Ot^zV3Hr&OXygU zhOht6j4u5e%E?kS$h#Ejq;mH9t8^T79@AiP`D5J1+gp|WnZ&H*7Z~(uI&yRY&C(tq zbaZWbC7Sx04+I?jbiAuz;;PV4D7KP?6sAi|;de_!cWZU#9JkV$L@Wlm=cnd~I>Qc% z8Zfh;K8(nq?n%b1nZ`A6{Q4d16v~%Fx@NQ9t6*HF@O8{4vee_89o5{4m^@wANMFQ| zM7Iz_unG(LOtOS`vt3V%YReyTD~3b90oCCjeJ}9FrHzKtY_Ehm=|(om){W0kJu*#1 zsUJT55l6_gOWB@x1nA+OG;5B0(~IG8C8(Qb-!D(P=@1QstD{NK9!EY_7S2y>gv!bk zqCTOw^=yF;hVtH6PFt|;#cV=mY0~vS+(Vjd<47X)zLzNo_@vU|v9Bi-Z)7cnT2Ncs zVDvaOI=I8RoRn`J;d8ld$Bpapk_xC7rOT1F9CLntlKlQwsAd%X2&h~V&p+sydcXDl z%bXP{b@226UVDc`*6>oqRF4JLc|~hXp+8i8ygp&0ACj9XS0)_>w30j%q>RQ(@_D3d z(r@na+xm8CC57?D(E3%jcc21=1K=FH$}G%3DCbJ)w8t5Y*{1x4^cr$*Bv;`GK}*B{ ztCz5Cmy3MCbaW1g`CRqp08Gu8#SBnpQ;Jua^P`(n_Ps~UG}~5TGi$6 z$kBx#Lj*>_jg247FPQ7LnC)G(Y?^;7%80wvFrt?*Yg5J2Arxm{w7 zKW7Q?a!kuqfaze%+ox#S8c#)JqVR(${yBKYv&sD;x)*dB=&uyt5(D9;p2Kipnbp9nx%WEJZIw^-~RbFKE0-g5>G{1MkY^Sz1D zJiwtU;kpjXJv91E!d=v(r^On;B=#6x1hk0)&?adn-Sv<4^N#&<%VlEIcOURMR@Odd zpIM^$(F(b=+*WBh|0 zS?X*D>%fhpvRbyL(gKV08wf;nd~{DoiaB=<*mLKBTwwFI?jfaR zfA5K!^A=xjn5SAMN^kktzm`E3^Y;C_lFoB6yQ95!#T7vKV6ltt11$C_t$N?kUMtxM z%7%2g-##iZ&NG&Ist6utC>z2SLd9*MpukTIY>%TMBB{ znnr94lq3dDz^7K+LO(t=u8=5XGZFP+ZghbbH^_b>&`i8o85o&iX&HJ+YSF)%tv#y- zNIZZ1I&kAYt-5EO)2bFakijZ13et;MZhX{1I3SK&0J}(n2j34&zA73#l1q;{XIt9! zFe%kKth=a&pG|w(RMifc_2j_e&JEmZ0jeMoQhQsM;^9Z!k}*0=QUo~^d2||IGG^s5 z)4j#W$lO29bvQsZlZZHbu}M8#+JpF6Qo=D+Y3{pjv7v(aX)zAPl9y}my2}{M+|xly zF_ls3h{9A@Lwk9tJ6q`#WB5?YTlTcspRWCwSJ$PDyN(9^qq3tE!*cV+IS9GRvr)$; zk(*ky0IdK=#lxU`msyfq{qJYFOEX?DsW~4t?N6Py?mbyD3Azw~uUNn~?Jur? z5{RH%g-GVJ7Z|hTe1xvNH!6G7e!-8xqQ>rJlH0lQH6Jh*zi24+V#j=q4>yobg zroKhO)Gy~+Y0ii;;fRmWjAH_D8|WlI=!ffOPw~zcN)4<|1}=9JiQLI80U9S|!*ejp zKfUt}wn%sP62cAzRyMV^Zi+1xGDA;aVTN}wh0Q8gj*;kzq*;~V>0I`E!*9UZ$F08f zeJFwT$b)N<*jzl+QiYnF#1t;%TA+>6j>(K{YD0=@Ck0k@rGA8jW&eM~wZ z^#f!2#^*n3?OxV;Ep(Ly)h`^btJ|Xb$dZm7DFxl$uaCIb@VoCVmTfy5JiNf-)3w>k z{`BU;+BERGtF6T!YVgW=VvY4u_7FiqFt5LQ#(xS3b0<{pRB_AE$Gq&DJX<9e9q+on zvT|(-c`1Il5)8~)8ip$TWJIq9^`{R`ZodlHxqU&J1?cI(2-|uu{3T#chXz*$f_t3S zFQHqnnBSfuWFw8YD_wuOizay@U+TLpeZ(x+4Jr1RX?2|@94>_k1Yp?z6AO@Lz?&lC znJNk9O0K(sMna+wSbjE`JlQtL2>Z}E|1FZ9+_-wUW(yF=vk()9T=lW zgjVjmnoq?7w;0EZjV2i@Llt=WpKevH;VEPzqk)A7v`RD$;SU=sS3U=TeCr)YXvCw3 zP49LGLwc=BpTUd+0ai|*3-X2wyQ5^y?XP>fW>gqwoVrPbQM5mREP=g zG}npG%~oe?gi8ygKYta|C(&$KQYpMnotfUwZX1d8PC{Pl`Q!PEomTsH86T-GmaWOV zvi>Ntumy8RbxL3RC*rzvAxi80k9lgI`ygO=EmGatIt+2DG>4f&TeKV%^DH79;F>d@ z>obE+Yb7)ccfPJ_U!JES&(rA_on(+-SH7a05`jPrkPCugU~l1& zc38?{45_G;NbE>h7xDnu+p^he0=V^Yg!+h^D=kUe*B^RbF9d)c1Z{NZyo$}+#g)rO zst<=LX*yEeAaWaWT>a>v#uDOK|Haz-$!%w(JHOgB8rw#rwihtdki~)mwH5MA8cDI0 z)TB%+cUDk9Eq;{)GN1s~tHN#V6p$Nb?c}o!kf`v)+ENZ}YHih&)BfFB!BM5i)Rl)- zFL){XfzcIwGWA&!q#|Y;`DPUD?Uo}(FEA+J@`v=?;TODj# zy)Y`N=BZyp)#(9MnpgQt5sUQhY& z?j>8Tu)BFUF_kj8nzhKB*TKweYW@?2n7N-E%%=DFtrtk~B+F`AvoonQ8T8rnyjqU8 zWWRm(0}(@mTi3HD$Q2$@C`L`C>@inwMrB{x0J3P8naN>2az;yF!P_Q7KE5dpB~)V6 z?_wIRB-~tSlm%g@Alj&w7s^+7b{aS_<+?S9m8I%x&oCx4|ADnZD0(uV8grak>}b}_ zEps1Ipox%bkw?-?dRU^SCBeGak}4(<^gC#zKr?lLUar$>7D!zkv%MObd3~Yn5Il)e zsdYmg6&kRx-DlQipS51hQW9MHeR!gu#8VKMxNi!4rI&y*s_;(!EPy|Bc=W)p2244a zQvo`-u_l zNOsqohpOEZo=59m#;L%WD4-qeb?j?S6S>@Czgi&&4lMIt&tTcm@3LALc~1w>_wSjV+;V$5gz;uL^iMtQ$tOQ2Q~eh^B46HH2k` zHr#y=u}`6jn{$@xfA0w2r0XH&cKV*)^NjadF#!02ctadtVewZ05pH2UEhXJv`<@ae zAFw_i)5)H$1M`wNRkS~`>~wNl#2%=xYZ`253c*Yedp}F+p_kNxJNSV$`+3*XZ&e;# zmHcuq73X+aQePz(xom$SBOQb7_?%@wcxYK>dU$;mpMBP&!eX3OPh%jahGacZ%}XgPvej3 zYi6$QWQxGJ%k}l#-D9_Bpff+F&e~8y=_rx?)HKI>1NQ7^ErfL8l1Uc_nTrm5^qT|J zU%F?jEnCVpUWSvP5|n^c?Cs5yU+4K@t0MpE*Dvdi<<-N+Yd(K20QnL>!U^f&;a(5a zN8A&@EYf?6sclS}#tA2}t@UWk>AR>!d0)DUS=eaFr@&}vW18xKfw)#s4Oq4(jp%z z9ME;$QgBfljwrZ(4ET}8&}1ugYElMv|hRz)!Ov&#+(5CH9WW?Rv)Kq1qvUS_8`KEC&+3vo(sB&&^>kgs}hF^Q|=T0DiysX6k zIcBBw?5-S|-Bg0+j^}%h*fPhn^3h$)Rs5lT2U#=nhej(dRula5dtd&Z>gmPHg z@^aLuqkyYbbQ1>~z5QS5Gzbcz>bfc*!Mu+!+*p=%6uk4d;ZB}wKKr6jC_;zTtiQ5q zTq`m%GTr?3-!Eg>{(-Dqsh-NP)-I<>n5Z<~)co-G8__2?b?!zRQ3A%nTQ1eydD=U zoiz2i#pZJq>}_;*%@Gc)(i8is&z8Jipb!=6Fq-i{lJr07bp4<2#{KVValn*&R}m+> z-ts!clo|!HXF(ttEIo;l+mGuWxv^ZS+x+WPX169N?Es^7|5_m}BnEoT=g$wVt#`wm zh_B%NJ^RWd@S%_SgeH=1O3dfwjuwv3n8aTac$`tUX8FjsAbXY?D9|~M$z>0N*%@D zfG4{FDxF`NwIKJ16Y^YpZhnu+3i zrYG+&zgSsQY*Rpo$NWWW5Yx?izj$~?)*E@QnjD_E;0*9H+^wAPpYqI8T_yUEw^wmQ z!TmuP6hU`j+Lz>~zx$^=st-Q}x$5;U)pH-7_{ThOi+>*9*VUf>-=@GWbOC+FvyUVSj-m3jPPj{}&GZ|1L@RUzh%$7eVpA z2K-;S{{Jgv<$n$M|KkDg1o|)!$+wb8qP(WdY$5nL;%xx1hd{zGC@y7Oag~jYyd;`o`4M?*aFE|S4o0l|A~c~ z<>p33Lx_op(melJ*mFai4o!F-G|^*p@QJD7PMv{&GEtB(-;*-t&E;PO`wQB6_P_^m zaUt1alAhk)+8VPHmy+@^VzN4=M#m4g4T}5mrL(guumzc1x>v}DE0WHGbTnD>_23Rt zP}CGml$^&VMrp#1H&5v7NFF--Z>!dwXON;=Ha^JtIqdvLyOi|G;xrnCR2L|>CEu@P zQjb4GWMZ%eqI4Lrq>zU_^6MS?9xaF{n<)4UWK+}|i^Ihnfp)AY~tNU&ES#&fKoF<2cgbdFFc&2W9PL7Xf zWMoK_l#85h+vEDyA0N8PSkH+5z4#>6@&%QTkPz^K`uX`4JF?{G-@yCmU{a}~s`xl_ zAU0}uN~51#ATbT9yLD%2X*mbwVITf~g)7@CD?j`-73)HPIE^N-rxsLHsKYQzh2P`2 z%!*^+-c$S+S`l{N+gNfG z%!T*M&JbQ+UiNjJH*Y?xvFaB%Zw%+u)G)8{CE04s94}W4#TVJmTJ5+YJkZD2FPhYm zIoqFT+vPIF;<=}v*GDSVQ7dSgXRlix3~I0HcUi-igdAL(i36cqv#H}W_) z4(>X}06LoidKpVin?Qi)D=E%r!yYShx|u0L8*Mp{_~+uo>P=*|i`Br%Mu+Dg!G%KG zJ30d3mb^1DWtVg1Eb*x$#3cVgoi=*-KCIEo#6otpR35Y5egM}qM=4rcSXvyM%v|aU z?WVJ}bZ?DS$k$@}But7sy>QZcR^rQK0az41`P!libW)nNZRf0Ztxdw_5p^pH%>>x7 z+2qD57#dpa0?4uNLIpWF-&M(xw;$m^`U{(;vMaRZSKU@{b*ZeBlVES>-tta0Hc)W< z*M?b+)4fbj4e(5Ub#-n)*!wi*W(Wy#bKyo~C8HRa@Jx}GmX?Yx!a%L1?0*nx`Z!tI zyRK({RzG~R-{(Y(Yfc*UX^2zsXX4xy$_?R3BE~C7h zE*tXJRv-2KYF&OjkLAdeKzO$%i&~|QoQa7E11G2BI27-Ecd1dk!Y1es$7oUIB*_&( zwlTWvYWy;($!Hj;)#gIt?|R-hAu$4Mdcs+SN$1ZwFW3u!eY>vCf?D4{3|7wbn|MgCO$9yWnO7s{w&TA*)L!H(PO_Vidd0i1Qc~ZB`uZ3cv<@o(%H5hGXS-1X zrrpvzvzDNiao8;gJCAqou{3n0GXR+P%OC7$@@j>4#SZa5AMB2M{=Lfm$(jNjuk+uM zlzbjC5^hfwZS?+ck*g!BsRRG|CA;+u-+qc-jhEftXYAa% z*}3t+M+CM_R^_$yEp1h4wD2;ikm2c5f+@w7mF!>DxVX3QCCRx9t=3VYmoD(ExB7tD4KC}z0FQ2VI8qoefZZa3wGvQpc92safHNe|AfKsqF_p-A`8FYg*RwiR~ms8|4`-oaF%Z?ZGIIpr&{PKWpMzU&q z+H+g3YFn+s@i)f|dAZH>iuW-8 zZa%mR&4&`WkdQPmkHDhJ{ssJ1xP`SZN{#e-AQ5TAu$`+OvlrFj-GoGhYhK0+Sv!Sb z?S$cmTv+Xf1R6{Me*-GU?%$~Dk*p$u4XXlLp!6y(O8Zfh^ z(YFk4)kI-$SzG2(#1lw(Dsg-Z~_~) z&R)R|79=0@2F*BuRSmGWx;ERgclQXfa(5ROek@(lVO4s6n(3Eyphve(6xzW*&zynL z({3WI=_WYY;PmO0e;{=)iuY_`Jablv_s>$M17t1SFg{g5L(M_1R0V1a(*7?{i5r9$ z3Hv4RJzJD|QO8qDk8hnWRA|sZolf%|(7z16@S(f|+NPZ21%XI-!Q_r!BLV(Bhcl8y z;~v?kC)mBUKG@)`&bwfPaeC5ZUNB z)bkQx`!^zCnB~VU-#sad)@i5(u79{J!Zq-*4vrap%t5yJtGXG|4M#ul?+`o+W#^ zZabI$usesL-oD0;sNhKt?@ieDq-*V)X@e_7kh#39@_;VwRP|~8HS<#7ZE4pxh6c}Q z4$UD7)OKvPQiP^_8HMIT8t0d8_64SXomQ!D6b3of{cA6J&{ozK)kST<2hHK`F0t?lNTC6tf4S;!1;zIBx4+BhVIp~`^O1rhR85jUj3BXi-wA!!&UIEZ zfKyK}if1RX@R;r9QkW$fZ8*I3P>N#7p_5It?cYd=w{LdHlia?$pnf#(^N|$D|4$>~ zE&xsnh<2o2>`;Qs-lkrmo{7=iJ+|@L{9c&uD;rqT3tStNfEKgdn&WO*@5+Xnd(7ei^4LT~1GkYXR_sM+&P3X5F4s>wIg~GC!SB4pB8_-G2G!Hb#;+WH z+A3!Za)$ylVdJ;{HOYfK3~9Xt(E+X#TL-zQzm*4`FJSKbUln{lrX-FW@nhTZ(vcXe z@3w_($7JZE5)m?n{AI1YLDDk1D#aJ)_UvhO176EYaW@x-be68)?6g_5Q#|;#&5QOw zm3(0!IybN)c5@g=rrmTzq+9PW4NXPeU77Z4@fi~2>C+TR(09!-Tn%!^`ub+AE?!!S zD0LE&s-q45HoZ1<*=TOC6&+Jz7;H%5?Tc?he%>~^Q)h5xcd|0hX2U;`HI?QK-F_ub z;-`F-U}p6l5ecD@hNO_j8XscJCk{eu=p!`FweL7<7wPpsEh372`S zsd-Ugp72HXd(mCR%_Xvu2l<^~%z zrh|Urr6H6;VA^$y12`WE1X_9eGC=tVFYJH00Dy|WpCci({cTx`mHd^Y$S6+|+Kqj& z;DdkssBFKLP(6P^V5?$KV}Q+(*pjdN@RU}1`O-s70OB1i*AbQny}7rJOd)Roq4AeZ z^C##b$S9Cad$8Z2Rf$hGjt;!ke%o?cDxn7FHz?Ygi6}aCLO#UwLVRfHE^G^5JbN)x zVM!7%dZpW#lTWh+L${E=)Mi5Yo`l$o zDWNJ!`7*NPa(3DeorG-F@~Fr=J@$nk5X#@>l)rxtX7LiDuZ8$i^a_ApO3#6piG!*< z<|W6mZv!{dffA~*rM=i1k58oDL>vN_w{ri0ulcWO?=1V*IPzY_b4fnPcrij$|6|s! z3RC7OdS$xe`x89?v0;2$^wak{c+gQ1!U`)Gn+gB=AxqnT^oNlv?27L!>Ws-O4CilHJNey~|^?RH{< zX!m7zq2YV*-M>F9F6cI|6|y7-@cA(^H1KU9#AjsXUS>3YqM666n%9C&M}=(bY>|@U znz-2nqvS@*;tSh_D*b*PAt4J+^qWrHLu<;`>+Nejv9494I!OT1^npp2=y>t1txN|$ar#Fu#K)eDm_hera}jh5>P4T&FYzt+7)U%8#u?> zj`KCC8lrOHUwW=KiD$laSh@eB0aye9wmw?GLR!QFX8zWcc~ z7ebKcFo(P2%33yr>(G=WrlCC=Hi%go#;U{AX|;zWKVTzCu_HV_=a_N zW&!GiLWZiBo8|x$Oe=&g9W$cgc;p)?z1U4sr5^#dVH7iQknzl+5*)q>>f=rVABJyJ zBo{i-Xuf0ccdh#@WFQ^IJYYWi#Zl+`M*y#s^Jns`*qA~G-hdU7m=wU3ZkWCARz&#-#?!uH>!MqppdeWcPkOxze!=$jr!m zK`!Q#$r}2}O=YTAab4E&S+B*cLqp95WaRs`g1`De;4P!?>?oq=sALPprq!BAFA_Pl zgYFzSC-+om#&l}@oeUC-24ZyLih$ky_|dDd!ac1LpAnuuU07)|Vj!lW(5@5hIRq4- z-zR_yE;RFNYbHFb(SM9=CQRVoj^pn1CXDoFU8#Go@I_s*+A?aBBT-(Jds^wUKDqww z6h_v8qr4}Bt9zo0Lw*c%2j515d>MHpRm}lEHIVezU$)3xG{C;~N6_8A(7#p$IxvDz z?XGDigz|6<_s-w`A}a8)YoOcj@pfXY*8<3FF-K70FliI#C7lK* zxF8k?+)uA{GuTHa#GQW3g3o%2Mga!!rj8aHGyqsI0rVgKYR{9a`ymfMM7=9bgdF?I z>$_;y(GiDW`i$tpM4Fi0{SHRIBxF}p-{3n#@u*5jf4jh0E40>|2UDeyo1CmbeaUs4bHNNiuux$51_kmdHuyn6{imS!Ag zP@ zw$)Fx{Rv7~{`dVemT$G45#SM;g9(KCsjcLcYokFk2q16{K#`6-YX}{o+PG&LJMTtA)}f}t!}Iiw;RVHe6VG3${g6UKdQh^mfzq8 zj9I~$M5O^+bXOC_`vYw`0dAh;Uln4_`{(Mtl z+rNaF*I$!0X+W>(eV9Om%<6aGofwFp4w%*a@Xe%3yoxr;()mg<(`QEH6b49_bUYqQ z!8Zx8NL9!HH&!MwzGSkp*_iQ;xII)Bl!VYQFEh-Z*3a8;gh$ntssr<9dgz&6cnH)4 z_!%$0R_W~d+mS}j@vp76#iY=rXYLKm2qQ5j{RV0vE|I^`b^ZJqseFx&smfqNb#iY- zcfY!F_65$Om%J$^9+^@+l`GO0y|GBc1yv@}K|elDIsYpA6U4PtP#u!_N15gw4In}z z4$M|=fP9d97FVB%XR7UDQ>$xQ^+-%;`NdVxdN=n%80RjHOYv^6@=qe!19$R*;F}+5 z^BNbXT_OZn%64c&Gy(c|6+8skj^7G(pHm$qKC&mX_$3z1abG@+>9Y$#XcF$9{HWLC zn%oR-sWoq+u`k|buzY0Q+;2rl73%8`ltft}Wm8cDKP*Qd3|=Q7JQO9zf{=Q+Y{ie2Gd6pfHx~ij`p& zp}f6nBMkvRpLd;zenkdcolW>JAb$SCP`T7&6SO2VtUpy;&hr}Z6ZLp6@4wc36{3w9 zZHI{jQf0R)v!R>i;fueen}FHm=KvgkD95u=*kVrLHjd0Hbm)H7bSy192U>*J|Gs}M zQ~Y@Rxq1yk2$nyb#r5P0ux+_oJ(#A48y!U3{h+xl4MnKxQj|4utyz( z%?Va&%#Nu)@DF-*T9r5wY1{$fxTS%1+_wdBARP9|#$Z|87KVjU0-yZz)QwF~0mT>5ja6EV=@ zPA4Ytx=CX3^&GJ50}_KdJb+C)_^pVTdHQmptcbrNfUp1n7D5i^zC!e$Jwx+M<{UU_ z(%U7D5iJKm*^DFKaezZ&5n(TEJPXi!!0DJgYXALprow_(9dL3v1OiLv1%RzUQ+ux; zz)#`nVLk1nPAlNO18o0g+gz9#Ml)Icv=E2snmrkXqOtB|j}rTr>$S9JVh8MGo6imZ zZ)lGxb1NMs2jRp{&Ec~FpBDqRVPM@5J-2y@{x9G>pMGEo`Htf9O}~q+t(OAk4p3b4 zVwPxTTMIRIG#mGl9k9!dYsoMIXVy{F0uKl8?Uu%T?P<7UoBQZ`xO9ANitB-9+1^W* z0o8|c1fj(R9&;S}!MHvT#P7cWz*T$VWsjgzeov86gyNW!Rvcav;9Rg15+?qr*lLUy zL6ywf`kntZ(B&5WrQ*gG!M`0Bxz$&Vu*-#@oG73CE62?L2thNhfyi|BQrEvQJ|;3< zva6syk-FYEZ5EDRfktZ;$>{taVEjMW-`(T^=uZRYvTmX%Eti$EFTZD&Ohx6XhKNUz z;pc|TG38kF#b~m)Ug#voFH>#C&%k^53V}X}%yvb)P-&KihxMDzbx>;ky4kVK?Y2CGE1(#-wiL;%)xm%u?*W zQ$Y6Xe_e=#3d+M9@zuICDUVkP2b3?q8D55OAY!}+zVwAZPH@3PhYOr!q)-AE7-e;Idk-xSYp6RdKT12DgG^#6Jt0YtRTSFN+BIP189CYl>hyAmiTaU^!{_UXHFExENGq)7zxUhQ<4BVZE^45 z?I87k-VUcsbq)XA8zX`h;dZ_M{kqDFKbq{G#RK4bZ~phaXH)*PDFUyi=eQ&IAsJ>t z9PafIY(ZMlXea`P>Z)0&t^ljYPM51a|M+Z?0E0_)DX+c&frYL6C)>ewiOlg;K-L zFC%w=PQzkdV=d#Z(dH+O^yT`trWVfEbld4_SvTMXtuT)_<@R-4(3 zr$Rn%zf7(xlm^|e!jwf@s{o-fUq!1s34aoP(M&j8EC1o0>WB#kz*w`L{%;nne@m$e zuvSOxl6tZgr>9w^Wq;3|J}hI^FfUb&ia}Jv_XG%N_$WcRVbpEtD+cf#CgKiVp26Fd z&;6SkRqfXkxOmB!`{bucaLQDx1b&g`$t#e!ehZijyes_o8J4f&8{I3rgy6R$X*P+S zR=H_ICMwc_Up6S%WZC}>hmXS#P6>Jwx9sw}WSvI>?}r^x&F- zDwXQ(^BElN`m8S8Nx1(-o6~;Sh`yzio3L}fsQ>Y0m)2DVm&9dH1QR*OEsLR)BDwWs zL8MyKW`z1CSm71a>)--Kq4GT7<+bB zk*n1t$S6UAO9c@78l_HjxBZ8UsEs6_*$15If{1-;)+K|GVftK8)(=mO|-+RzMGT4U*(9w0+8&07@m z@mrsbnLMQ5&20R~2MJ#PEk)NTo>$7sN&4w}%jrsBlv$`wV8OvvdxM79RcXK8h1gqK zkglL8WHZ(kc=HNV+ouy}6IUAW{dh+ugl4VP`P)4t#$G7a_RX1Bm7h;@pVNM+jOqAE zj;p;)Cq)Qmh-XiG@e5P=>;;PH^k!d$mQPOmv&hqNWYLx8ZhIC_K75SX2bodRm_6&1G$TWfJzVD}ZAMguGl5!-aO^I7NUM|^F*30J?CCBhEfC#Yg@NxAg*WEwZ+i6a7-BcU1>j4ND6 z-7QPHg}K(8yJgv>CzhLJ4*TjsJb1Q_%mb5|cH7@8XioMEEK(g1hBnQ>74O^+pV}v; z)5i}{<_#5deY3u-i(r`wJLNRJQK+s*ddOR5zPTs&e>A_3WM6jCo^e3UxlzdD8d%Ry zu3A+m3To@;KAo5CFNip0Km0}eYWhytYtCt()saCnd?K#=E}lEi%2_Y7G=t~Y42xUm zJWH}fx{iSn?{>>W2`P^$;`qlndi;Vqt5#|vvyMORDoV@)sW#Nhaw!5X^yjk=?8ww5u#g@9E~}?l>xIdA z95S)rXf3++^Cp$M>Ohx|?YE`eRu^kcY&K6JKPDpoF)J4N;R);+!a&^}MR+Y$rR(N; zF=|@EEW=stIpbmN)dpSR@n2Dlm8$14gsSKLeR`JZB| zDC*sJ@-`@}jWf3yi8Zeh5uVNlWF6ZvAD<8QZsV8+1Kn#4BHleH@33WJP)TBUp)92v z0*XJ~F7RSa@O=>kfGi@*4i8$W3LN=PZwHpAP&$(ee6 zrUHF3GkF5k1_Jhm0vz=X6LGa3x5Rz+usW}lHJBh4vr9ySu)eyKPH38({@yE*38g5N z;50=#@($5x%>MVZ^*^LJg{BXP|qeA}ac z!A|ZOgSoe-_uo?0jqi7VO=o@Q^1*(k(gXloyyRnTXMN=)2G>-6PxIgd$KhHytE0{@ z2Y;!uZgq~^*>S(PoU4LqtHzIQ?HN3TG+*l1lV6^#>;N8J8aKM$zr zugnWud;((2`250jjb*`l>W1;z*~aQe>G3j!njKpThM8xUVO{UgKv$jhHm1IpTnSMJ z6<{;53v1~XepUr!o_(`mPjrKY+`m~WO=4WXbZ?#$+F5Lh-+=3w<-AhG@KoE_Nk1%X z&Sk$R#|*W33|b*(l42!pz-4>7C<|f}x*i_CZ8`ZIneXRbD4|H<7(#Z{dE$$ow}6|< zpKb145QsWx9DWhsNgkT)Oef6~LsLq8y(%#mh)SDhY0;k`vK6qmuxBN?J28~ji9x(W zt2dU;G^UXc+P`Sy(n@aS1?-!+6@&W$yT-s-lMJp`xCVy)O*-~zx0J8awbDek*yFcz z7IEX2}Z?X{x+CO|IaaI*Q6lkiuZAnEg0L$51V|aXbCSGOmy-4G_VDr(8p0BAn zR5sDM3Iu*&Eachf4&Z&Y*JDDQdp}9h>RkVLA#{ccu(MzOeMzk$8ln0|w&`#~8od;U zncB)u&f~yno2s4j8GMp(Kyt)2U|iZ>Kc^KJJ3|p^28Alyo`6I@%|t2)gM$dP%AQqCDE zBdgXgBfel2?wv5c3NHi}dN4s9w4q6Z!v8WsM^N-;mvI{lKjt14h6JF3^&ivqU6Pke zMdY}QeuU1MOk(V4(3cPBiAw8a;?<|>bM->VS%&4>UlT3iLeKL2|d3jCxot&atf2tySO}oD+1Q|ppv1%jWoK_;2mCT zu|^aci!QimDr;lS;k4;m8Ee&J_%ANj0=+ML76=9e%dZ{ppR-V;q%^mz&Bxz$>l&t% zS{@pfP&Z^Folif3xY`tJWFW9WuhRa2FiFviC z`Xk9TudsoD&g%W^?R*VC0!a!-couTg3a>3*VcK#e$jKFgZKv$d9 zl4UqZiMz79tbe2a4A1U0xE&h%yc)XUQI_fgLW`dc^vbnuPY8AkssxZ*IbZs)F(yWt zbM}yP)O8j6grL_|1&*!1AK|Lzy`_Ju?}6X=u`ZkF{mEYf>vL@V33AFE2VN!XFi{$q z#Xs&M$|V#A$2{ZUbP7jTWK`x^i~2-PZ?R6J*0`u{0k~(|L_30P(!iAa{94lxQgXJf z6hoWkY(dJ8(D4vp{Qr;Z{A*DI9MJ!3u&9bg;NP2CFaZ9>r9$lETerzhC*t$cOS@AGD2kj)?{^6{5%vWnI3z+ObPlo5p~*;rnLDxE- zhk#Ex_HJzu1bPjU78eCVGiV=fZ8@EM;;*~)#jx3c59m(2XO-pW^-HuyUs&u8*|mE~ zp*!H_>b++2N|DrN)Uer)ecI1TKJxbXZD>%lpW3+NNbT<3)k+jL4~lqMHw7_CVb3)7 z06-{YT@mujgLu=!mQ(OvH5HHhZ2Ayk$c_jO*NzA_S3Y#X(aRAqsGyBCa==Q#>=8L% zq(?N5ra3j29W?&}{=JsgNsBM!5ovXp-FxsaOAkEqR`xtgEA)Dt4^e=S`E&a_kX+~} z6!&tqCk}2Zds@1y1IY4jgoF^evD*Fh&~WDnUZFX%2kaG%z8UOcOKaHhPlhR@%k>); z%|bQ$mm4|jmm=pZGvVLnOvB0A2GNu}FxY4z*NLWC@blT>XYjntNheHvKfa_CV>Rdcma=2f@NvazcU)VYeeZLnvVP2P@zOXr=7{Rj_ zgu#l#-hULgnFB9c=&#P;)mKQCz!LHk@~&6D^Ui-Wo!3V;x~Gmn`&CrCFyTgVKpDV> zKF7tzd`B}53^QW3p;W;)cLCY~|0&(D59(GuDSp|oi$`dtpcQJKQ78cMp=NpGvEp)A zj|)_H+N4a?@%9v?FV(3$Vgc{Z7T%B7KxpN=1xdjC${bdnzrE}_ELAZmWS&+Sk)N9J zWKvTP(sa}Sa={N<7jb1ljdnMj_tr;Zvj_1QIUjw}?o8Q7OB9F%21c+Ba8lisa!5B8 zam+Xs=S~Qe+MWSi#qJZ+`$r>naYRx6$Ix=)<%F{16?nVo6TyNqpQE;xXGQ$JUoP(@ z-26vnZDqr>x!sH-K0T>Hu@h|7!+o1HmyM{VJ>~}+%@aP59#@@w+(U(=yn!*2{*l zVRfJ?bc*|>6g59u1om%@#1CQ z+%6M#L)ZI9D;aNnPD|<}mqey^C%gA}b`As_H60ur+JztVT=#K`XxbF2-klA##xDu` zp0F91sz#^%8B?u5T|6UnyKR32K~0=TgV6Dy04kz{Bir+EM^;feT#G6^VbP_EM*e&OqPa}-RwDdTEA)sLS= z3?2c4B~yV$LzMG32jDCmbcQ#Gjk>?;2lzJC&UpYAlhK`Y$}iG4x7kHP8f0=m;iNzB z%%_U--XFMa8A+7CMv=PbvR|^tqDvLW_yjGYu@2@@RBPYDz6!2!k3Y-G^D8cd6H7xl z@$PO!(neu-Wv%Lk6MSp4k`d`jmYVUE9GsH-;LAa6cQ>~m%wFi*w`CU%x-)bbE7yrI zNyAY=Xgl+uRIXV*h88ca|A_75)=AA%O$s@HI(;;_X`6@gQT3^j9vz=A1O&`eQ9H0X zo-TsQyZj?WkvzEplj`4!hbvOtR9041nf3scFenOMwta6JRl{HuFflm7vm%AIEmzA| z>p19G1BlI9#hw5#z(<|-lbdX()}CO)Nn+2I&ROJ@%{~@zoBI6f5a1P-+REWUQ{yjH zA*@4x9vZ>Y{BK$lpnrlQtXA7k%)XiaOiC)mIjjd5fXUsej>8fW z&{B8bk6#+SJ+7cZv`m%+rUkILdEp1sP#5pg=BaJP3Ph1Tvfw@KCsP@oB(O^zlMQGB z`&8e(znfeLBPpBd-yDd3HD>gTAcklj=rz)Tf>j^;knwrwMNN*5<`)*ijd7DOa46W- z1eV=yfDe4!npgj_;51qi;i?giy1!ceiWofh#Y1&*Zs2M!vpD8?N9sS9HcsS4h`1KF z-q7mCn4})Ney8~gkm4aJKA|>kuPCat*xgAe z@Rt|WOJ+3?QH*dP_wF7crWy}PjDdBiGHzIzz+r#M;lRTVn#nK^1ekF!=4h&*y`l-%$fho_4e9n$5+tBf|P5GS5qfEP-l{WJZFu{bBs&r{8a3Ik6LGdKd`6RsHZP?T9 zl8c%|`H;$ovu(ah`cZYNe`5o538G9qcLuPQ=!cyA_q-|!{V&~s7C}6By8|-K5>e}=gko9SaOA4O2g4_XGLpsX%rOZc(^j}N@ z%$84nZ49dXi9M_!ebvF4Y~FA)mQ8(^O_YMh9UE(FF4EJh8{otMohq9g8Clt>g@q!Z z1gjr`>bw+0MyK0IOMD9n387);23nL=S&r;(j|k`0qENHPlWKX~4)uPsu3tX=l982B z(^h_w+*iNd((>hH08qBk1Vb1ChqPhw^g7fr{!Lf~to69|F)KT6L+L;tfBXuBP(XUyguf`QP5Q?zVS9H`{?88?BIC^_$y6A>Sc(!Q-sFv$GLD zV_t%%-(DW@p!*-v_7xDC04A!pwV{1tHAR-aAUHFaD4W4@fq z#Zxas=bxO1bSe<>v1yyWiN3+MhHkq!l`6A-#`p%`l0jKV8K1SoLZW04=EKLV$eZZ9 zJy`}OCN@%8McE0$yOr~^KQp&7t4=U~FN%FwS&;B)z&^_Mj-YG%G;Eeuh*=&7IJH`* z#bxt5q-=Oa*K^6eav@#$^>d|n#8bdVyN6m3Cfz$f03Y@k#K*;T7GfF7zrMdSGqJC} z^qYVy?Lfuzi!LRJE@rJDQVRs6gN?j-ZuI!Ile%J+ zW{+XMG7@8`5BrfcUYPhM;%V;!z7lXK5t(^!lCW0bhBdf&1{+>Fst4!W>r?`8x zii0xn#cj}o zN5kfr8>)^G5ZqQp_%?B11g8FoMdYh841y@L4{8TZLFdt!jt1k+mT30yBOY^xHg3)^xcSo)>_>dQ^jycDq3e_lUev$k-%?=*mwjEUIx zzcOhja>^S{8T(dPsMS=RE#AP#7flWm?;ReVE{tU~LCD5m%C5IjEyRV3xy$*65)-hVIs4;0B1z0Jyj^`r;eOW1JvrdJ$H| z2*{?gxw%Dm_@n#x^ot9LW3F`@d>f!g7!jD-bY_i}3-*o2fh3qcwT`lajL#E_h!s82 z*5Ca_Nf4XQ^>C;7DnJ?c@vP$pM5%GNs`+1O8cvW=G%y>x!`je#^f&o8^iy zsPXyCk(j-YSH$3=QUe53cRdF3d!9;W@lS6|_Yu?qJn+Tm7dZk<3?njQf!@0eZgV|k zc~tIRV*I0{oOTqUbJ;+kDG|E}V1auri2TxTupOn!G~IW2EOp#vz2h_p>Z=Q=O!ba| zbb@4cGT=vOz!fSld|wx18S&}?+YI2R2JkXEFi#=VwX)By#r;>bH=O2Tv||b@_fD!0 z(!R}~ho17EEF{rK-~tIGpDkIVj13_Xx9dtB`B!&i-QMdmppVoo`b!1=OPXcahIGah zfYHNhM>mZKbu}k{6Qn+|IpKM3Fdn>>aW3!cWgjWr()d2knV{9q1LF(_Yy-HRGuBh# z5_4!O;zY$>Ed1gS11SAZ6J7?o>SpH&SA5W>H&v8Qv2)%_c0LAz)cp3$12ID!msAXF zgy_d-bnr22(10m(!*8+U)fa^86>gh@w`Y zqV)0@TvhSIP(vRCm*9~C&!;_?o3dF9wQ!0VUbz$lUIn>7B2z~QQnAfn(g>vz!w!{J zCle-Xio&}di~QK|#Teq;F=-b%wS@%`%{piE->`*hYvf3_b0WMHUXxCxHL@(}Ckkxs zwJ1-qr?GwFLvsjH^QZ>%Cn5oVeD2#694NPuMF~w6?!Sy5cL__b(y*gfQ4G~Q6n6J0 zY<~nY>Rz7fn_7z$hH-hYrcy11WWMQbxgyCsTg@yx%Z>@trT59ufk{Q9#XlC3`O*RHki zSk)tzl?r99U0XC7JAli<_ z)j$Ese&O$s@DEL%y|=nDSE2qt%=sLt7;aE@$y9yToVNO7HPk$x8Ulf&lU0GBgt8avWM95^`MuUMkjlUZ<3i=M90R~NMe>iWciMo`H*UNzcr@b)wX}I+ z2Q3jNnFgP|1&}#2<#B-*Y%^LpJ5iE0yN7@A#qu8m^C$qb#J0<*Rtou>X9S-)y#wg_ zrAjtkAonMdYRc_0Q15YbBb)rvr*egNO-T4R525B-E48loK%RoB$V@7JgH3uSg!I$g zXS7P%_f1n0P1B0!h_x1wPc;ypbCC#t&9)GT(TyvuorgMFiJa^ZGdDy1-){e6EvCI& z&=tGQXuS;QSUT%<>8Q|b1$Q2O+WGD1$fYLjyQ>>Cr3@<~5ouC8o!RI&;Z)c^us_{x zb5-ZRm4Q`8P0BSnT<@ze&#STRJWw2^m~L3Ynn!Nzz7S!$_jk{|I^LHLKd859ZWunM z1)Uqfr|*2LWTM;_0M~eK`qmtAQBbQ)xcX0ER>fDd!XXa23&L2p!kn_Upa}~NgF?vc z@fvP;Sj)W(RJ!+XS&(Y zny7h%Imix#SqH7XH;Dp0u5y-VgT6!aPcK1 zUg#M5DGKkqxSN=DAo|SbPvyXp&TV1{VtqWm`^jR$S zlF&0r>`5y7>q(Q6Mti97;|?VmjV-ICo__b83wUJDW027gFBEonm8Xq+&rq%4!qyby z_JZjZQa?7{W}+v4bN7I{L5$#cea1Vnk#u|Y2od18`(6so6Et?>;26YF%`wwJ?5vl6 z3E$R>$4~H|aNma4=k!8HCx@7XUe@`qI&m_7SYlJp>Efds5*b}Y+$_e=!kZ!f zi%V*E15|J9y3%Htgbp-ovYZIKS!*Kv6$GLo9Wh92nGn5RcGf&ECdr?|oxBsC{RQCY z<-Gi6MdIgUbQq!ltl3K#Lbt$oBDu${sI;sk9%-f4@~M2d+WV|XwZvv0tJj8mw}NCq zEiIN~2kje;ag7&?OLHWyp^AUV4KX#m4QrX#gz-er0GPMQ*4JDV+^pMQbymd~8wJaU zzv8&}Dp-a!ZIAIba<$y*G?tPQh}(4sqA{Sz5!YdzLirx7lO>wBu4(M(4HflJZddX% z3}#ja!*oZh^J*`3SE~)}f1=LzTIcdmvNy1LkI5!=&uV#`>yEHMqUTX=mxuwMo2woZ z#PH)fxMKBy9hdC|Gj+u}UygMpUrAutFp$KcAqe(HDPW{JpQiximXPcz;C@iY4`m*_ zm%4(Zp$dAlrBLH_mfGTextB~xQ{22)ow!*YCdjB5C44gw{Um~QNPddKJ|z$TA{f_b z%(mB6-s5%zh<+_K0!K@pfrIICjD3q9X;ebUoVUe|Z@ zrqhIz5o}PH#OfBofDHnD{9@@SlGf69n(;`x-$~28b|?#`9hcWNH!OPSpD(EEf2t7+ z;1g=Ao;kU&s0Q&Tv=z?f$+n1f4P-eFd3rZBh+oV+?N{*$t_g1ofm=z0XfWpcCtol=+5YV6S^Q@jLrnP! zatj!Xtc~&>S{=D+heZ>s(aA5%_+JX=TtwEo=#eIWo1th67Iht@A9XxW{x;&t^G)M< z9hmn~0v$dk=%w=SmpM-UHS2vAc0T#WV=j{EyW;0yPf8ThFyRMpt%vEx14(n;CvJhg zBqM3-ee$Bj2Pq*}sZ0Ce^Ongj-AuNrKhpeim}HvUNngBBE}T6NEI%Ad(@DKw!~ZDY z597!|;n>>gLeVjf<(HXhUC6`$Hc0qSU(R9t#ESa58xoG`^i5P~_a`lMc z4Uvy+Q6HhyspJ*LXWecp?%<{4JmEi(J{aDGNwX-vtm_`uyB9A?{Pw|Ov*%mTE8YI1 zo71eL%LlxkJx}XKa2m{Ze>W69y0=`SF5y*NLOPN{_M4KuXlO>tnSX&7*vu zpw_gd^0Vayl~R9hJAY~SBG09C>3&jxjAW1QC|^jJf_{E~8aK6rxh(W`iLft9Y9*!c zIGG^famkC|-?|=}PjTM3lMu*>Ha-_1Lb@bMMjM((e*aE~J9|EElNl>p-uLTwSA{lj zi(f*j!K-(>WH|*fA;(>*T)aYp52_|Y)0YxDdwA5uiv>xcM?s9iuU-FSz8N5sudn(T zdgrY;Q3=7I- zNz;j2%x|`{VNf>FEFrLzEan{-2+QNq%+O;Nt2vJYA~yf#0?c$W`Q&XA+*!@!x!b%` zeq(|b==@-U(At|{#kF)6eCq-D-S=!ep^fs#r`=3$>q`Q&s0<6^Bvt2FVs!*{zP2GT zJJPz+p9U@{E-rrY6~byh0ci7FLqS%K3_V`x!&tkt(RUMF{ee}Dkn+J2?qYQ*rDCb; z9erW~D@+kukd!!ObxfgChgHwlp$Ex5gzO)jGNi$Dgq!WwJq_^4X_pkTiuOI6m5rZ| zD0GT?bRijCA_q@&ufKec3w+~7$zT-?iDX2?^4KWrsHlqz(sTK zd@XWczj*Ot^C_w&MqZQF&g;^0=J;%+bp6jSYGdsPk$}CA0s$*(^GC0jOd4tI{w$6- zuDFV{ewy)-3ys4ul;+WJa)e0i+(klnXP*rWHgQ`M3eQ-XMwAb6HQ7{;7JVu5YaKUj z&tCe%1Bj7V$?yk|TJneQy9?2S0CBa^$1KEeYr9^)s1=+~h;&7!Cx4%Hn9Y<_2k+SD z!U$LJs3!TVtPyN6jDeJ*pG*`UQTqF2xUH8!v7X*kwmezCrS>^<$o8vS2N~@?z*e9OgS%hkxWb znM_eyK`#NZVWGvQF5yCI_fM$}*rPL~&Y{QPW^Vs%Z7wvc9reIg#x$-;2+Z+&3b-p^yk!}291>aTCbjPs`C{e7wE~Mo1P_tbp`yftlgx1RCP0h#8Z*?>n;#XGh zp!i7Lm)k@(^9GUQ-unbR2YR89=qFB3foI0YMn7|FMU9M>(i#aZ#&N{)YNWyo&urzNWm(R?{O@-FLKDh_i9q9(~}ZpIIH}&c;zZp zwd2q5uCZJAh>6{FScNuE>5q{$|8(MZ9F~UEOkY$Zsv43hc$E&*zybl7_-QC@xfPj>eDgx5dAl(fj(%s$N4R;^k@6Y%CzBAwX z&AoT#-hb{hI>(X2^XzBu6|ePLYwdj*=W%@~8}p={lSO`7xJJOJomUZKajbT$%T3@B zslFNIhP4|C@ekJM$qP>(e$!YroKC9WM!JZ>;1w&YLzS!Z(Cm=&L;SX}9+5r-kq|VP zb`0WTo73zbdfmO=S{>xI9;#>$9M)D))g#SiwKk}kA6c=S%#WEqaJz8~Qu!Db_Cu`n zAlufONqt%Az^coD^q@PkH#AK@twX7#8w1IqfT8W7zJwG@+4br6dv-4G)4Qc-h)>aO z`(`W$7k4~(my!=K+qRFF#z^Cye%E;{Ae+R)S9`yC;hd3S3P0vC9-lI8&GS+#km86pf`-tck6?{5XvNjb4YM4r$2RA z20;d|*2(SDNR>1TH#+Ff1M*2els2#d60#lbrou+Xj+TN#J8JUc4Ub&`OWT821&QbZ z&vH_Aj-iV*Qf#tpyk|xuF=jD+ME&)_ya0**K09o*dC@2xgt=AKilG6Xg(M|&TuW!k zDxXtzo_VI~Gq<-FnRzxe5}Pq-MG}fjLPW}o2zMB{E}bS21!yU9;cQm1ga+Sy$Q58P z94w3;3&5XNE_$i9r%^N!mUn`>wAxStyI#vv^w%mop^0e|BKxhZuus&0q9AFUfz>MQ+) zsO9!#rp8cL6nch;RdxjLrSYvX&-)$>;Edw)mqoRSxSV~>ZMa1mvr$acdCk|~MG4d* zs%d-u845WHdy2-eUo_HcdeO3a*s_B8{T0g#w@*UZA+pO_1sW@TN)B4?!g6^kG|;75 z+6h)|MJDm-nOE@#us1+Cna3<%n$~FtcARF^HU5PPp%3BviM1drN4)BR$jqHhHeDX2 z;f+mUZqlQt%T8B=F5mtN67c{H`yR-5ow!7z*?C!kW{T#2@} z-I0kD9=6U7*1w{~bOCMtwjUQFW~RgLio`ui?R@D6S7WC?nUhlE;zxM@sGyNru4xhd z$T9bceLb(@)~kWL{<5qAm*ZOdZ@$HXc|Q}K1XHgPcw>u`f!9u%ya4KLh6fC*c7+j6HKAoN#H~X`SjYhrxQ@2yXWRIBuxf>$xtD z*_+O&kMvZpaeFD7PU`$>Zl}c(wWTB_n{|c3!>t9;)Q} zd1|?xT7ho68Xl|mtT}|-Zp@vM~Z=+76ZE@5)iRii3Xn?;rSQjZ&MF9s93=C{l9JR?_y$>l^ZZ#i6%vK~k{ z-BInZmWB{E4{wu`Guzhj8UsB>b^J2;jllvFWCdDV``eK#K}aBeiJ}+_bm=O_{k!BB z?^nyfH3VRfH#PeOJO;q(dEBcv#SuR~!YtU|>yb&za>qgA6l(bhDrAs>YEmsTM2hCc zK?TAD%^u9$w}vQ3_SYS)&AB~gWk=$(c3ZKLc4)V}fILR(bsyjU{xNKjcTaLdm;9i% z*QC_T_p*qDoAHf?z!zfu+Zr1zX`kGqF$8pQTfI|)YSzFw2|S^3_0;35`Tb;lSxHAZ5lzYw?~AU3&2H}@y5*#NMWm5)T?2J7~fj8pa6iUCmotJDiSUq z$sEHYzK|7?BOl%>C*?}=?48SaIp{SFqw|@(Kq@=vBMyMT=KcBQg{BX`NOKY4%j3n( zGDu)Vrn>LRD!DuctNtFlk&hb`gF8OUw-^$5U{FJexGVBgF=oKN=)EkSZ0CYq#R_W- zrXg^q4|P1@er^J`#Z12~_3|e5^@2rf>*=kVMIoAc`m?F-%Rpwp;&)bzM2H5IkOf@4 zX4LLgjTpbXR=_5;VpgKBv3B=9GCxp75ru>H!9oGcx4)~f3hN69ugyuQh6feKE)`s~ zNyWE$lT2o?`(9gT=Dt$p+8X@X8z?xD>$EOiz3A?#QCRHhs%BlWUm#o8Ft8H}%;3a4 zVVmTE{H(wZFY>~rdR0Qpp!T~Vd(NEq#!BrnS!Nz)k~ibKc^!RmnFY(wga7KKl<`6` zKW`+D(e*A;5R$>P77=@=2BM))C7!{QPE1Mj2r|U8cBUc=Vz^L&K#Rl-35-HQzn_UF z{Dmi3KfXP7`Fmc#cW=`U(gGq__8|AILPlKUPmc+;cJnH=YZ1A%ADxeGAO4wwHn@)< z=1#;s`0Qge9f8&oyonulen-3E_fbd+!+ZSvrf+BPUoFv+XL#v8`W$8%Ey>U|PW#ny zlXK_wlseWCB$kDHN3QHRE#@6%s~N~Gz< zMBi-33P@3*hzK!t8dFjMLGUO$P{2HI?AhTI3>mLTt9egU)3D`YsThIz-l7{Mr6@W|Pt=7nNWl39DJJLE;N`VB zL>ovmg^hp60U)&nqF+q6GGeSe0;2trp!Q{{h1&3!JH=WCDB<#GX|z{FyT?e(zqdV4 zq$Mk~%MSF2Z{|jD=9)k3zzh)$mR}Igo zYfoY#7~SDqacPTLO@f9sD);Q?T;WW9E8v&1HBG z;OWeEed5}icpEE@2VK=eX^%E*o@s1eGk#!4KOa3rYr2%hY`QjQZSu3GTds!$?!>j` zbuoM)@OHa3q=azcFa{5tyy%u6O_1T9eqAsBtkz>X|$XlGQp=vK%8Q3JgSe(z9C5rw^%&1Aa@gUW|2lqc2#zafyfVi5NT zn{Z|tij0IV@IsRpG$q+wTnu~5nzy&10QBi5qea)v=O?EXLDtjGZ4v-6RrgU$F zTCoJ`6{s=Q4TdN}3E_Av$q!Td>o|J0&>yXG9Zz~8z_sjMm^h>;(w$5zVBbb$opA~_ z@^MsOcGCnQ*{xZx!&AvZfk9V2949Nr&N(?X_$>Kw)k8foR-+J88EXA~RI2$4b1|C2 z1i@Z(+Cj(0nKadEu`Of2rQR3AXVuc*sw;Tz+he>skaD>%pQ@>A1Ro>Wz1gswG7A(Z zX=vp>*I9Bh7wJZaLbH*9u$n9+e?v!#`Y5Ke7ut6|kL;~G)&q|E;cm;jf>LD zu0v|mkv>oyaS4?6g&yIzXy{`^Lqhq6W&O+ej0|V9uI=Ac_5556V#+uVG_R?kMwixX z>E*8wD|Th<>r~ql2g5?%Ms#K62mo|oZ@7^BY}W^$7XGmQW+!AT-yk3t6ULp5v~$*Q zh(z#u=N{fjdpiNk1Gzj+l-LbcXAvB&rLTQe=OwiUr?Z{U{K)scsGR>5zJB*>$g1;S= zhtdu|17jq+f%Q?)e0Eb*^zGTjcuvtCP)q(@AI?xe2WJLuXWyMxbs-mbMBrdNx86fp z=h&nYZrUZHY6O{H;YP^PMDq*tl}1jEwtd!vsS5BT7okj-^HWfxg}5CC3TI{(F0w&g zm7KP!dk2N}MKJGkab zo0r|sYgg=-yt8iQqDbqGSt_R2_0J~jpPJ+k*w;-K2T=fco36UPHiXBJU+wnhv07FG z_&nJ!elF&4q_~;Axs>=~LUWJsO_Soi*(`?10vejlhvynHL%?6BVrM$VSWRKeii!BT zq4*mZszr;FQ!q&W^XkX;3jAz_iVeR{-7?W<3MvQbmyyel=V}GjeRqO3mFoc7G|$DK zqY*4Ldb{H1R`+A*BWj3}m48+dF@CrC(iyU&@n9tFxYS0LZ~X$3F9znXX%)@JuVElw z%7D*(lANg0{1Vgdo0S087lJ6AGrFRo#YQsypmr=jl{p`8V(dmdIxY?Z;w3LEQ@zLw^_X-`pc>g^X50!kljq`;>1rXA03HuPzp_`B&^ z#8rO-NMmjn#rAWGj9FlmIDt_*00`(djk6VMVL#Z%tB1NwdD@?3v9u*@gv!t58oX|rG)>$wIZ&bP_olF=&*4vh5ZN(3v(s{ zh6|vnuRBupPj6>T2Nwh8W{BDKD)V1O1I#q8@#AQM7HLRuuVulHEm*X%nm^m{D;1N5 z0Y|xGd+#s2)hjs*JvpcEBHqu5@+58E=~Ck+R`)3sJCI4;47CCEog&-^|V z-$1+uu_%vGd(Q8{SL4`0=FcY24kqn_YZY0~+YVI(;meX?Fc^`pa&7E>_M%bV89?0jg* zwbF89s$gSX5?09eOm_jDo)r$-k0D6-509ho88u|e3Z!U>%fB^*NrqUT-F4DX$Wn$2 zomvd?8Af?SzDxx8W0?r!L0WmQqGmEq;!I@)92|$0HLQwgwwq(E(Ydlwmf)zKJ~sR@ z672Di$G9F}$<8bAMU#Ax~|fC`)bJ@%w`VT|B6uZJDSeb{eJU~X4k9z- z0S^=bxY0>9qCe=~SsvP#&+2K+hXjSIFQx1Kr&{GR#Jd4TR2^&sg~_ReN}BGQAE0A4 zLA>v%xqF)7ke+^u7y4q$v@{X|k2-&vQ(l~1N=Tx7bK3-IU?J0WXU&neC1^5!XEvLv z>bHdX97r;DBPUqYx4P6XPgoGVqeG9OmAiR3{;BDVIbi}FR-czafc>SriPvq{XT+py zEy%gqX(!10$lKN$}X zv%CTe@!rqjIvBYxhh+X`@4)-D&m&Y{7FcGlQMm01f?iBDSy{BvcTCVow9XI~QDnNU zW$1BhZ;o-mtPWtho34!;_yL}Idu=?rrQSX8BEDCB!N86pgX@@2g4f+yZP|mu-DUIn z%h+XwlDTE990>CtKODKs)8xa@XxE8^2qab_qhySGouqNR^bG#b2iayGbZ}Rf3K6g0 zhlQ!*pEuU#zP{E^kY_@Sg_(7pWY7FlKrb)3MDd(`a!p20?_`R`>>4nz`ss7n`r6Uj zStT5+lKq_?m=1jUEMuW@eGJGZui#ONibR`bU#NC37KyB+%-_Vu*E!<4qY?EVSc&Ll zUW+nE=JPA3t=vfik`&ky8ecATw_^wUrgv3W``iU~eyg3RL`r5Xwj)EhY%$jSw*`4W zCAdSOL&qQxRtOos5D~#Qg%1p9;zNmHb&u_`&m$)mNVmQq zs$mO1yBHN?g0`1Rh5o#zkVo(9V$vZy$D75;m8ab=~GkSX%EH`n<;Q)ot+E zJ4_7wQ2b2Z98PTwmY)jsZ2lwfzMf@&EXbO?DocC~f83kXfs74RRs_H|872E*jGpRp zrJnHUfrLyfrsu7kNqG$y-oy0u=(?=0sou*!2kS1!a4k3OoR7)9!#}q(XA@NL9W9SN z(bN<1y*PFJQ+I0p?0)mLNt>F_2zVFoAC+jd8#!zUpBUM(hmIW)VfhrTIP7+fAcqR- zH|*}hl}P!^o5ZX(=jtduWp^T?-byhq6W{{7?7RzwRT0c0h1jc=Vo)8%&!PkX6)(+K|-Jd!NE?G=s?1C9sqlAxhi~3@Y%CY2F+N$9ZX^wUPb12ml( zGWuI+Fpnn|WHxEYcGfg!<1Bb(p@Y=$hkETp7@~LKf1bAeBTP#XaglQ-|H$Hk$3!JE zM3Bq*35<$y5S{(NZ5E!Jm|I?~TbZfNSg7mkpwg4C)%n?yd+{-_J)SAe#F8%~Fc^x6 zI}@yDFR~SC{Je=(D9gb_gN)yY>%O(NzS|;|mCw&SB*)5+TD@I~ixGgHjI8|fD3SDa zNOn&@*hSR7P0?5a9dnEeVh|?5jtk`;yGF3aDi_uJhzMVB!m;>T(RZ z1-_4k+8cJ)g)==^9Mzwl z-Mo?H275Ad z8e*roIM%E&#`M8ohQy^bYE2nh$VD$6g-asl_92Y4Fzv37YVgZ@=!NWJKX@h`@_(_3 zp;Pg^Q|19I5(YqdGL;W!w_^y;9I$bbrY52vr%i#RPiOu8a0tL&VR(-H-fY9%m02c5 zQnZC#s}4_TZp_)Hc+0a~%zm-}+B^Yd#sMc)4x6QaFS;1m3jTY=cf%4M|6adM{=+N- za(NBx5eWG5f39N!7{mJS^}pfCVGQHH*Z-r(eCC=#C#U$G2m&|p>^Rn|OQM6hw{yGN z!)4A1IDPf#KP-n|Xi)`eGQ8_v3vwF{PiLfwT;PIH>!(rLT()DhOe+`2i(k)Ltj-K~ zbHL6~K0^XC7^<1xdQapL)Is>MDIn00buMFSZ0l74y{2L2GLuEq=g8Rk_4HeLD)pE& z04{*O0pVhJ7~LE!wt1)aoM0MkX!lPoKyxiI_1ITxvV{PDXBo`rXUV-~d*SAEl|O$R zFno0d6hlkO&IsR0rjDav1EaczP#ps|&~R$K`Hi!7F1`pG2Xvzh4;uRv@QZMe1UqWB zibTVTnaI5KsrZ?RpY`sCe_`ciu9#+iwC2hzxQ+-P8IY7vx5^vddnWhijl2Q%6Mn;_lo=O#l! ziS>w#G|{*WiUk5~El5Wcwf^97R zQw0IAA`*H`p@3g~f3ve#S~KKfZ#-0IGoB<)f!)4wL_3%ImpuIN=K9$`3_1Y7AT^bZ z0LBERw(6T-)HxO-4@{=*ek0Q4UrsuWf(vOea$C6z*a`Qvgappyc01key%tGb*Lxp1 zk?- z;gx&^fQtUS@$Z5Q!*oGb9AvVdTMTtDqvpI<8Awv8PglJZa-Bjt0(BgK^dP@9w5(=grWXQA zMFW=fZ)z>V2&f9(6IdF1pjt7in|b2D*sT&rP2D^^kr;QS?xObpTkO^!Q={GLwv|)n z%ucYzHh*y}m{0095TXrHz~BMz7T6_1nF#n2=BCa4HHk1MWwn5rK)qJqk(IlURghAo%?}stU_U zlT2Q)pu?oh(*L!`+VzmerFwqa&$)u+Vhu5qV?90bTvJLw5FAqeahNm_7Q*bE3`zh z^#Iio2Og@NYPeAE`d3Uyx0YXqg`rGL*INfy&miE_Qj#*^Z3_!WhwG!_5I&1U7!Nzh z`Y_lRK>oBDBVB&7JVcZ5YVjkWuFUr4xCet35(xJrh22mC4-W?ejIiEww+hLi>zr=# zvlEs#s6KzOrwi}g%o;eaVgfyT3LV<+YVxpxWi^#40DUNl6Pm9XJss7WtQXT83N!;x zxXapAN;nV__^RTRXf-4hL~yR4Y^`)JoCa3IHpx3~^44nFj}FoD9Bk()_o!EM)z^#`3~^MM7j%@>>uL=7}o}sE|x$ z=~X+O!#dML;R<@fT}1a3G%YTFg)Q~dSCAE^%DvKmcJh`*2+r#vr02Ep9|=jxitVz4 zsJ~g>;kPj1AOK7=VHJ{t``x|REIm8p^YAZHjM}h3I{XBY4KP?q`dgvxv6oBCzNcab zdF%iS25VAC^jM4pn#EG+GCR!U4IkBi4lLFF^#E; zT5ukWS3s>dVJWviWu*_SOjJ zUAK{m7fR96cw4+4(}xFjYU_GPr^J}TkgESP&~1|zg{=;77b37cc!e&^d3FvGS7FWj zX6&pT)`>d|$NeW1wGINd;(rW9YpzY&@fr`GQUGHC=m9ZDx6Z?bURi2QT8fN6Mhiql zFny9mz8|BZ&^GLwmo>s|+=3GA>!#_ur?^MReTL^so1ue#;ZUWyO{bg#p=fKb)MU;E zR_p|b9kq}lmQy5v5%eFShzG3M7(k2eWe3z0zXM>SWiB;W%09e0pE{}--Ez8K{OJQh zlzz0yp!TG?s)c0J``C7-m11P8<`# z@PQGCL^87kK3mS%18{45ZSP(bmwqdpP(=Nt7f&NEWZ?f=BsLrdAgv+rd+`e}gN!m# z)hv5C8(`%8V)$T<{ahzxz%BXra$)e|C}t!gnN~$fZ2mvy_jhJfy`Q(P zXL+&1Xu6w$n(DKEvc4$1vnImkm&R0>KyqpseDjr+zhH@hYUG12r}F5O6dAi9pwfZq z=^AS>yu2ir#a{Z?!Q}mZ`WoBR_~->-Yy~hT;2?xmTTZL>8Wc^{3dp(KmHP$nULo50 zWjx7tBLrR-J!T|ynSuMO$FtWQymr4-oDuv>UMi z^mrQa(sJHN>;wbsg&!NTAtlbeX+N zq7J~8TWw9eynlsLiK2QWt%<2#)$xCT*o0EWx@15WgA~AZ*7Sq-{r20)>Tr~xT^s4(0a$6_ zvR=Se8^BnSR;JtnM%*+3K>$Pt^)!8{_$HX*2GDR39!$)`@Va4N`hOn>|9=Fx|9|!4BULFv6bnL%HACNDd;c>1nYAr+ zeO~{u$F$~V5N@;gZ1SgW@~b z9pZ4;XCT3%L@b2H%OetPk>;a6*)%p2q0`uSIZErF04K)qn4;`4Tmbn@-*+`dDm=6L zCx9IXcpgNl%^-x)C{+oh{`sd{WDf&*UeF)j;Gw*^WoyJDPPBht%)-J#c0(XR{7&-f zRi1)~p&|}u2{2!)M-DXEs3p|Es_RrzLM{&GqO_8Qw~j6PQ-k`<5g<5LT$(fERl7W+ zsv4OMg-ph2-8&&ertgL zl}Ir@)OC!Ik7?hQH%Ogduaag)0r+cfP{LSO`T+bZ{bzw8QI-MOyB)g0yr}7DtOO96D#;JyrUBIk7KU#hOyNX^>FWa@y{fJEtYC z&9q(McREP$aq4a-S4tX}0PIIczlPUOMv**}K75Xw2Afu(b`FCaoCTfCy#8k722zB)T!!=N9?n10qB^u&QGa~}K6 zK*e0S+9=5@ahumh6D6zxZ^;;h>irv|GBE+C8u-87x8*`91yB9{QDEr4Xv4A{0U=@Z zB+Ez=Ez`ltmD8r7rO_u$#k6l3L=r6149Red_&DRP-XmFHI*jDu&m1vyH0DUXzW}I%s73 zMGM(4_Y=#Iunr2kN{-EZ?jPD3k=J{;zK4LYd3xT+6>|s3G5elg$l}?){plIz;~5V! z0mMoHr$xKGZ;BfkW)&}AdS0ufwE&BY$1EuN&S7S}=wt5#f_*g+s5Z$RNNtzEoMnyo zc?cS5+o-G4HmY2@f`CI4EYTTUg=PbzL(Au|82D7$4?W0&njbjeyZl@1k#6s8t3Rm6 zYNGv+BOm5{F7mKNK$4lN z<>Gn_aUIq8QFc-fHpq`R^kp6wEX0CNSP;kC)f>;l`x|ns@I^;Hr}JB{rO)*kq)$ca z=U`!2yc-xu$|dh*{k(ny(;9Cx+2<5-LwA&>d(^|m8>S8-3<>AMkuRtnhu4{2Q#JR1 z6{DkF(}OsAdLpK1)CceF%~WN8E$t{brmHP5_Zw+BYUmPPr4Rj3R#ipJe)GjSh1A3H z`mo8*Cm6E$SCemshG!!ql31U-6$zJ&)D!dwj=qpo5``7$tTdkz`a1ZAQWnv%1We2v z8U*0ShBm<;jZ2T{@Ro>bOVX5x0*>#uo)#l^d_+M^==#ZISMJa-IbrtBCK3p(`sFyIj0_dq0h&wS8& z@uL0W`T>d9JnZ7m+dF^tOuFZH%NZciBx~)=5sdx98hJROV-A&Mbzv+7yIRh2Htj4 zXJ8VuUrqdTXVwzow0b#$Dj9>ThuzrVP#HGuqH}F9%p@axkxy(y${tF8G~&ClH&bpCq5~46$~o_Arx}=&n|JoIquQ3w zq^(LCrOg*aMF{Eyel$al@?kYhxo6plS;2ouUl0q`ii%ezdT^k#_mjGxaYJ=%L zxt;6AW0i~#&eoL!*jCSz8OGRFgBzss`{3d2M3(v)F6iUfxM|rcd-tqy>@L*v8ZV>= zl}SH>t>N*7LBBgTof6ZUHW2aA_Uq1Tv&s4QX^`RC^ zlF7~ZSlR+$tjG`}@22eG*TVnXlX*YQY+;(#Lo2+s?D}na-=YMnXGYehO^}&sb4;Xe zIFK&Gqs5aNvztDwpc})OV+<^lqz9?Q%WHMm<0LOIf^4_ypNs z_(GA<@V9hZ8BaI4V(HhO6{IDyH^QPnaxs9|Hc*pFcH6U3KJuZektR;z&xc|eB9W6} zH#99>x>&ixir0m=dL zCf)+8D_6!t1NGSjD+th=`}GdP;qDT8l{GWSA?O$)_z8AZ0gVs$r*r;D5Ki*(v!qC7 zwU?JEdX=8WpkVZ=rIWWx@d;Uf6xHp0<_-fMI;3exkQ(s;vIr|0mQ#c7TQkYzF~czE zmF*ZSJgnONO5&#>;%b}S@8VvQ^2@f~xyxZj;m^*VKj(-cEdeY9YL6kJ%|?I3bRW0W9ynT~^6X0LNKcm1vuyeNk!%wk< z%x`_OV?(r_JzOgWQ`FO#8E1I$#xz_Lr##wgBI-PAKv3!DuYzrxIG%5$so~QPaXWFB zpz4ZFqZdm<42)2f{BI)SH?&)%zGzXpp)#r9=zL^`&B!HFo;pajs|ST~ZPURv%InU{ z7fzR;a#=7p^vKJUy(Qs~Pm`Kn7JaIt0_E@T%_%uz6-5X0yZmQVgb}KA0hH z>DOC*s9jh)TiM*Ry4{v)kKLhxnMB%#0`QsfjUq1Wb%6@oWfG++7W8~{>u@)8Vkw>5 z47zZ4_r>UQ%6wr(@7fuyuIp-N!BI1?925*(Fh3v}pBw3p`JRbIb55Tw+c-YY6jZ#5 z*Ztx$34lB%C$|laL25) zkVVYkerCMzX63vE;7c`IMa{YfM^l@#~_Ig0dX>komm9gG!Iza9QV! zvJpvmOs7X;a`atb45)z(?k*nyqX#ZW6gHqg^8_hwE7%WXA*_wl*qoQh5K2xK(3Zxw z|1crPCu*&bKM$G~MQ)dILD9XT>LDgX5l#E>6TToQc8q+Mgqe1Cg?`&QG^5-q3W4Rb z$9Nr<1{QXdwk+g2gKT6et8V%fLAJh=Ily?3xU8{Us&~wFA}6-8oTymNB6jfX_nrVaU0$&UZ)TH^gIUtL~XWRAZ zbAn9)PL3cju|c0|zc1AEMd1r{AKf4m;uQs0MBy3CEd(kcp_^i{1A)6;sfFIIYFpxr z11VfJy$K46x;zvRW*FrF~x z1BUE6k}gJHuAS|qI7>!hG?ZlH;LHS4dvlqYgmWlv{do+zRGyIRXhLrDw*Y08E21Uu zn;t+x9|rGR02hQ!zfg6ib0%AxPA3&NuxW=8tM!~mi`yR$j`Ql!@A{z>a^Xnietg`zo@6h-9CKhVnJv|nu?Ne){)Tm+ z!))$AlPhJO^MX&IFvY92GvvduyECX+TTsB#`KZ)BS&AE|r;2#I&wRS%cKvywm)clp zUY`^fa@!##@yC1Lo*{fPwZg~H$y+(+LnA?tGZ!AC6DW{#xCqIiBqJ-8d<0pj;l?ey z`{WiPcsH?v+R{vpw}Xmk=|>uD*ULsKshFI&k)7@U-6-NcZ@#Yhy-=OrU8*&ZFbt}3E`baU{?>4Z`xqCL7?$v(S{>IYMZ~*v zUAR&})q0g6O{aAA_6M#;w*_Sm3IHrnTv%x+m=Vd1BzK8eNg?L>`~o-#tdt07np2hs zgZUSEpR7tD#*L_#plejZ=IpX$Cp|<~5$)?yxI$~*_XDQS{nwH{`xV0YJslK6v+B_? z#S<$_LJz;yf0%+_r>7WU}EE>i4U^lGvU@V#D?^Aym{>|*iQ~p*Rre+OW zI(l^2JipV9$r{O`UlS-)Mh>~`)ls?Z$dTm}@&|=#IOmL6#m!Nc2xqt9#g3g=;a0nHrICA)c{vUmZK zjNrwUn_%T*VRV?c3n!G&R?!gENY;bmP6TGNAFS$+Gm-ifS*z|>rfj)gI!Sa(DRzk( zRX$hv4BAzo-ar;JcNl*X&i;Nxw)5lHuMdB=j?E*Li8*o&5d`llqsH3{dy@ zl1r3$V7?N{`5G_RZzP~MsdtA0zHR{sRjRn4|1Rha!+Y?Dp&y>)D*qKrYd1dA$K(6& zkGhd4avwyde}8|?f(p5e=?^!XI2qZAi@=9Dl;08|XE*?Y#D}s(_qDB^q0ZFXxbe*r zH*#2~Yky8UJkz0Rm?imouTvOryj(}%|DRfb0Er`6-iSAjZoYV+N3XYdV}m!c#>6c< z9oAzhSs-UL;PxEc9YH1fSArj7#BzzL;M%Eq9Y4Q?M-d*_@j}Y{-P^PzdjiU)2T$oo zTuylE>9dF13Mw7vz`|T!#JDqge`9^x()i%~MA+yGrnn&k_63SQM1NK8*|b>Gmq@vfe-=RYc)lK3ET9eyFpc}mD_*%i0Xz%b6;j`0~qqQee z^U<&yad_FscYW9-On-PWJ9~~aiV{FIpL>XoL>`}rVHZqV4pMVgHEf%jshtIUH-gcV zx)McGVD%^e@jGh8b+4jXcMDrNEu@0|N)|Yl&UA7Rr9(95uE-#>x>~{LxP-0>(-h|q zvY~L!PZmPgf2QfjeEWIVp)HK|^>SnuU)vzPH4zlxlP2SyH-eJOb894jFfTtG52IoA zE||CT_eet1RhO#c4^1Vc$&3*c=X0sW0&DTQD1>85({E6+59R1}zwcIy`5-(;XO0gxe;!qi zW!tUwt;4B-^(XUGY-LoH7T3-}%qJ<%;Xjr{R#KT0Cr7_1%fIovPz4AlE{LR^Tusj; zS(=6Tb(~E6VICgX*DO+UNGqvE-+6j_%D>^t%$aGgPe69w$J#$~ZDd6Evp23?cHGW9 z6Hqtj#|tmoOT2Pvzi$xM(Nyw)O~}7=ES@-{anKY`to5B@v7z#z9Ak;}pM~b}B-#u- ztm%NWXHD=>8+Y5d-@Pad|_e6z>8y|QlmE2h**E^>`aNzd8%3xICSl+&q`{tj_HVCQdCJC6ZjHa z9Q5x!Rxm@(Y$cZWy9{c*%0AfLJ_dIPoC?A+gg`#JU?p56&M;q3c$5tGMOfa0y~hKm zLIUo=IjQ`)v-U%xa}BQ)ghjqY4QCAd?&)ggqtsK6$iYq@%prjzhd_SuKf;R>`I$~L z(hL3%@)MrA1@;ME4}%f{8!5P)3E;?KpWt!rk0F0|H-`igOF{mg#0h4A4PFfPLttM* zzi>8!&yUl27}fSQ2WK_i{SQ|>YhP9#NCwt0x8Eo==c5!d^sK~q!oCi@-2sTSXd^bzQx7?I2)XS%cu0Lvd*9hW6Ab7RF8+`|L z6A!Rk-~j%ps8B#EB|1pM;NBQ7CeM~-0pr%^`f-gN1e*d= zjx3C_VSWvcB9^qKx`*Y@-ANnCl`hJ8=Y>C1L*`;#`^iY_m}IV}bc%j{Me|;4ETE|{ zxzJ3OGYHpOn84t&zPUBllFxA(cm$@O42~SErlIFA_Mt(9+5tBRAT~# zKa;!3*tjpQPru|2GkqO2Qb39DV*V~vXZ0BQEHv3V*R0re`w;Oo zBGbXl5cP%n8gb zDO)vZ8BEu*jmU{7)@@9C!Ty?%24u_?iTW&8P;E6bGIr}36DFQ!POwNL)X!+BZe|i$ z$2&Yjd9GAd?{?t8`XhTF*MQV!q^gdhC|QLs+a;>I>nqrNw(A-i6WaF1AwX>7n?7ub z94byh*WIREGk=N0u672s*;Qu$UB?#2TwRuKmy@qfeFNN{@C<)+2?Q*ZyDJb-Y~+Qg{ki}_9G=J{}hYN?`i@!6ThAsgN4OY%Y{yRnc=Vb@OSq) z(={!Mv56X!ZWrTqpD%VlAJ=xZTeAIVF(y1pYqx$=)Sk1mj=wXX65%@2qA21(o<-K+ zt+mAd$1lG<)5NYv?hE$R!X&eSBU3rhC`p*cf23rh30lXSl0u|tk>ox*l^#HC@be1! zV7J0b>UDPfnlj3Rwd5mpk9u_!cl2g-Ek28D-UR-);o9LoV~))gA{$i!$JB)-Mn8d> zEg1oSow?U1F-P$y@7sn~aw*cyn>v3KH=d2hW@ zsz~qF3_)HexMiK1|NffKU$;<XwpZ&dv-q>itjnmCOM!#d) z$prU|Ig-Z4{NYqrj3Ar|Xmu+;hmhQcu1fl#^>Fm(xoZ5n2AS^S6qO%iYL8;G8Z89J z)<|?L)-&x`Ql34=bI^NJy!?dgDbTcXOi^}VGG4rWtqJx6QF}PvrcT)p!=x`xHYjYa zwSW7;Hj`Hm*b?)*JgZ**Eb2BQ#`e%RyF+zO4;=KLu`4;HY8~ik<%v!UX`Fnpli9eO z3`iTqwsyHJfnSYA`@Y)nU|GeY&N4~VIxRE z`1;lbJvK`RFJXIRWs-d+i!3o@x7O?-(g#;$}J@o|(DY1rHc40&I9O2!vx5oCXlXqxovhK)+GQ z%%aq8` z;UiBrxMOl3?Jx~)pl&Z=f3k78`zBtLFW)5SY@_#y7@=PEKvOMm^1w7eo-e_H^sZY` zM;>bjy(4WVslPU780gc`%-U6A*2-;bDM}G&X|N=A&Kb$f%;Z9t@+cEziRXS5UxEM$ zWQY0mKs3I|(M+=DA>xb4%99Un1C=KkM!n(g)lDbPBVlvaTj~a}xdXb@ViRb)Qr25% zTW@)FPJ<*QT1~2XzvuS5ZF{JzDQx))-@UlIdibVpAV2cHuM)%W{Q8l$h8|ren!w!F zIIq6#=)<@0-QeTUw(FVPfvqFVVwHJ7+vTAr$qD!PD+ zZs}m4oUVGb`2nS#bh2D_UhGx&)sd+7b&$l;sHV7jkdb9%z@&Q(kTo@o>eHN1~>=S{OW(;ZEdzEj~&$=8{G4}UBOOnr;yU-JbgDm;tj z5#UlJadDuP*Y-KKwFn%}r&%t3@^IBjuh%QlTrX7_oqjS*ymocn79Aq6ur?OQzE&B^ zauG!j`S!;blf)s4kzP;BXhP|t@B?b%cpv>}bAwB*|3Ol>>v#5_Gl!PRa?Q1a*?RPZ zYG~J^RbJPtV=ii9n@Jy835Ho?DrI7~KiE3;amDsj6JY-zq`d`LlwH&=JRsm}0Iwnq zf}}Kp0@5lWCEW}mA&s=;fCwllAYCHef^-dtgrwxqBi-FGGyfiZ-|w97|IYc(cb$J< zdJWgi^Xy!Et$W>TJ^OJ>CsJlerb-*nb}n(*CwMCSYpi%1?!n8*-d!qo@3+(|Jfp%~$)6PX_H2y6180Z$LBM)lz%BTVCr( zP-ty=_aB{JYyBwtO*MUrPml^CKN#~$xZ@7Q*Yo`1lgNZc{grUBx?yUz7~kzKd0ioT z)l$Q)5rmN~&F&lCJ6Zte#n9Rx9uea^POgOgZ z#-r{1ZhzW#$V}6NoDUIRVYFpnfi|#+tN9`I%#P^`e@$?EOaxK|Dr9cs(H|1^r1kT4 zuZvUjR8yfVule>+hVIAme?=>q+C(g1q4MIUzedfhszlmh>rZ zV~UPXhFlbuOVx#!JokE5dM);PWTtCzeNInok_PJ!H zt11+U?^TZtHNmy9gS4*cyaaQ(NmfT=;=Tl6aic+Q1Ki^%dfXyYw9bXB0EPm{Xm@5lec( zXmrk*T0{0DX(O;Ra~quB~o6 zd!qw4R}*hYVqa}J7Ka~pWgFr@HQ9977_E=jUP%nfSfb1C`vF{o=YbGlpsciPLoxH! zwf*sC3ma%9B#U^8s0yyS^u>l(4GU|SROd}^B206IE9?x*j))#&#>7i?T&4Nv*C7zdcrX=s z!%WWj+vtXxa|h^Z4D7_;_?wFDD|NQPk?Kf-t3z|UL$m{v)unmQZLZF^YCh}b^z|y^ zSgj$dHsTR*QwaIg+Nbol8&D>;X8hEZUb<$-i>KVBO|D;6{r&rcpb9K77Dh0KjacxT zV8PL~S>Bd1KQgsE#1Zcq9U(EemK0%bKDE|`OWLu4yRnadSV*$TW_W8rAZY*hM+38J z-G%dp&rHh6*0l3!^C?4_!1H7l4R9Q4E)kIPJTME6s0?pNduFog(+)gD=vrTBsB zI0tmcb?9vdA2R-GpIH%ig|&L`2@DDbOz=lx0YUdfc6HTsG?j0EF+fMvPaB{=i=Uq4 zuj=W^EGCAZW%fGH-#s6^v3$4`+mu!M7+|+l312Aj-CDkp?rvS>)XlIUb1yB8PQJd1 z4P*64@!c`D>2JqHO&(tzf9!i$WQx0KhBE>6v+msgXr)Y@)_QGKJ9)CSS`T`*hQ8r> zp6rVU7wTL zd8~fd)3etGVDsmt{ZuE=evI1ElaR%nj*>od@nDvw%9`5UuRcIblCJ=asR6argz;wG zm^Ku1D}RRcsg*;k=%jn@g@q9W%)l+Ym7ZDD0|i1%yiv|sp6Js0c2_WwLNrD>n&{!- zea`Uv_hxGIG|1~4v7Xi1Ch^)N4|7uq#|9bJ`m)s@VW+y%MlSJ)_!F-}(y!7Rz|rNz zl>`{Y_?c@4`XEWzhn1ya41lt8ZnxYwnp+&*)hk~0@vA6|tA-dViZ%*Zb)Tbg=d+D( z%h63Gofh&o^C9DNr~A+~s+FgxH1JxFiUc>S>?*YYKc4%Eln0tiC^@qjM^iX z=H~vsjuoy_x?cVxm&h?fGq!;J`E;2ec2<=h5owa^jSMaiMVv)b4z&S#!Hnm!cMGK@ zsikh!MiSK7-iJmrwFc=vM=8PS~1qwfjipn%cmr~EN|fv z2=&@FkXZF#;md6^`-Sq-iV*IzRGB~kzu$=jhaLiStiSgQK6ijQ)e3m)?yhzddgxiQ27lLRkC zz!twE>Hih`f!(c_<#8BLjhCg<1kdl!U;lpy6^PjjUYgN-qR0q?RrSJd)@q3?;P0#{ z>{XQIsFw6jgiM(GwT=bIDF&KP^?F zdb3_8>)r_2H+w)Sle(WskPBSo5&#eNpqifxm&ueYeKNit7zC&XCwaL7@BX+ne=y=~ zP!$1&VZn+k2}ZBG_Ox0X>2(@CW4Wqu(lBoMOIAR`raz=h?kbjkJ6mdDp|x{mrgcV~ zS^F5<#VQ63Z^!o4Mq9a_9*m&KJ4BmAkwvMY@|CZov)MO3JR8!ASC$ZU(TzU%R;_3L zi1MJ>OFN&*;X)#s&c=C_n-kD82i&Z+Awy{t}a zklW(~%TjUIz>KhAXC!CbrnhnJ0FUM3jGF9Dw{_CkgQic$YH!)3N720jN&`C%$K_5w z8wFIPdW`iQ-=l$lHUjcaRcXP?Oe97!!XE|J`TG8>L2_`e%9cVS2;6`L`z0$ld>_f@ zLYQvrzCMFAR8dG*hKr8o*ttsU3Ff|*U#5x#_nl3JA2Qx04$PiG`}I9;^jt8j2a6Ij zMExt?*Vzy`Rw<>>wI`c;{sAC2SGm)g?<3p}l3x985%U}n;Co+kfI}Or&M(A#?C0v; zt9qbf8IX^+73F!ardqm7!#1_FNmn8T`@?T=6GjV+3b`DQdi?QwWtH6&??Y@~dsb|} ztY)%O()9O*sTXs$4wfvEx=lA$zQ9g3(`r-EV(h5>%;+L zm9%l85)8q=^cP{A5>b%&;;F@^o?4DO4-aA@;rA@M6|ka+q+Gia7b?z{i-q~zgRaG4 zk*ik;j0UD=ayK$hP>EotL&rY+zO+gR|<%vNqPww&5NwC*Ww19&IwuMGmb zB1b9rp2pW13XM&_KlR1hlf^utL+WG>`tzRd#EJu`%|r_?wzphfeN&PRVD*JYFcTZ{ z<*?>R%nd;-=xZjr6cI5*-w^muy?+Au7}PjPF0rPmWxN=2(X0^8FL`+lslfe<^P!|jOhc>T0WefyYQ*7Ap=qXK>fGoROg*T<3VpAZwB!iS1^baYXiW zr>}U=RMDY`wBS~RS3Mk=F6tP+4!_I?xlqk9iuol&>7tI-?jt9*mbWp=X=ZK zlR-^6{=XdAmy+axqw4CK_1E&-jMo*X!8{ZZ=q4(q4f~eV8wxBH900WRh~xPI8(Wr> zhF~yVM*9FbE}*)q_!zouuBdwV?U`Wt}k3K z`q_Q>pLr9rF6fM38r7IbT~&dkLieUFsT5!$Hn0{(lFaMk;MZ1dH4nFf@YWwZ`7@pV zCWXWJ!e@fz&K=HFXQercpE_SI3_Zvs-}uF$vF+v9zfvQq;$d0IHrB(FrdcuX}K z93R`OSPpBET%!nM*GF-q1is2&P4<)#-6VWB*Z0~RSy1q9$hMdxx|Qr&*_MtbWpy+< zVf_J8^ei&9Dq+vWfnNL}a6i;ncVaUnD@7$7`KjdguC}sQBz>ue^t*VvxO_^@JLe|a z6rFA?G9Zvc;kW^7=r@41i666tr+mePRnT7hU(~R+m`3)RMZ>t-+tZ8Cj)T|8F1dd7 za+lmD&pHhxY%vc{m9MpCSTVtCO@2EUZ}UK{b@abvWUA1j?XKm{NGU)HE4n>y=~^Fbp>@Q zz~x{4$)8$h1Fe+bmqow#t*GRw+jlu0bRxZ((y@}*J{=B#^%4UF4?=$futAlr?HdGT$z{!6v#72WD|YygT^7#GZ7`LBKO?W@7*rY{VO z*BkO-@DsNgJA+oPYi-YR2gMzp^y>L|wn&d8L9N}- z50m$yXWKEGo+oeWXKWo;y9IgFem+cd7xGsp%ylUN#7=}TOTX;HuL2_G%ai?Lh2SKdK<3(SbPNbG*gm~fM%MzfgCk_! zFpq6>RFioWndN!eTEN^&+S6ktG?d1A3z%=8f0&ym*DRbq83RCUT=nPYi!~|zgQJo* zb2ga>CEITi=-(?MBQL3a76{i5lKX1gZ2;*AgQ=skmMH8`YTpTt#ILn5Moo0(Ql|_+ zcn2>S%g;*zZse+b_KNStl7SQiR9&aImFozi2Lc_F(*s0R^>Lr_+f7mrQclS-i>_pU zrM1W8&71ar`=&qVK8W@DH2`x9jD2)gZl7?b(fq(Dcz7F-3_4m5R(XLvfF#&o;N1Xn z^5($I>);3wfJ1z_KaJm~X(QJ5x)+t9B@;_W(hl0>?N>jprf}#_*D>w+5QE(TqCj$< zIVO4ET9qh8LD&}5bRQex?ZgeAMtPnYWCbp_Qw3{jj137KcgcGl7_<=NY6FB59U(Tl z6fslcI+o*7Vq1|tnsL2edea_$S7ao^Za<{b{qt!Dkg)=et_y@?$5yfW=(Q8OCB{1D z?RRwzIE|xIg;!@97`7#2Vk9Qi3dK0sWgC{T{yoMZfN3>O8n|Ldr;P2Q&VBi%8}R#V zgHuZ&CRdSBry}r8Rr}1_b3>y(jrK3S^$^>$EjxvnEh?pDgZvZ#IF-|dxY*R*qQQG? zA8tKX>#eOUd2TdS#yeXBdxQ3V=ogn2=}gyjao)dm;G7r^3%|}%HaWVN zn9FjZ2bN{}QmSzy)3@HwH2FwN>xt}?6tWMub}-i8fB|C0$`UbqwBF|bD+7>P&Lr=k zU{a~adt^2ZwMx<(2EG8d&S%{?6Zc9m{+1r!DL>_qNq3#JIvGTKXUf3^ygT8?Je{7P zY&Gj&7$)f}CUU~RhBLp)xcU4S65tVYN+CF~>{Y4JN4~EhOf_zehz9w}J3;sxq9DW? z^XwWgaA(QJ?Z~c;kbPRPQZF{0a!zsfJXneqKMi24SF@!W8)1=)OxyTXCV+VV0C-5v zQ5*v=s<(C2a-_n&h8}BI)v>YIdU*U+Y+rj?C@>O+L71~^XvbPl=9pWhBSyTX&tV*1?;-h7{k3u+Cp}c2>$11otlr%<{|?1lIb6Ee@${Z54rBM zPpeQ-!zr;SjBR8>WBz?y?{*$f;sfRbu#3GeLD@~OHQQGYIVZn;c^c=KW1bmnyaZUG zF;G_*IuvN{vngl7%s8bc#-H}pfN3iR0m=#=L&qtiB0vwsw|x?0Tk@J|(&cIN)ytSI z4rA@i`zj7Ui7wiY%a@>tZnf45oc`k7y@Jtd`0~Bv>QPa&;NNOizI$|Bgdy(&_18m& zXO9Y7=i?>rXl0CKB|R-H$|=LtyZkpvgyBCSooSe~z|cE+)cqDkxGhghQ9k=f@OF*d zG3uhWqUZQthe>hIv3$~4M6GwIqoT>|XQz7U#VaCmtQ@J%0G%$dUv9V0%l+>8-P9kM z8ed5VUN4>}?#5P^sPfihs7iA}{f+nF{sx<93H4sTvhNeHOFQ)l(gl?&853eXp)-m+ zIN$s->3L@74PXh@rnN^GMos2*aWT;ybX1ji{93}@EV%`E&H^Eu--SolxAB!5@2)^g ze+lV#P>_xW(*$3`{QYQVoj8G=AG|KP$J_hpo<0-yz#FWcbb>G^d_xePE?4$Ul*mFk z4x+2=6-#SbO69iMg)*$wk#|aoK!3*lu*89JP@%x#>T#&yNd5H}D=HX+)C0{Gr{;__ z5a-h{+t4nq)$T6doG`1G+5uEAZ#On_16g=)t)A{Sscc=1GRuhvU-)r;#}NZ{g7SaI zJ^bI$89j-HpuKOY;4PKdAok3XS}-ep;m^;0|fwB(}%C+sz*4by}#E^%mi`d6Xxp!Kzcz{L-vm zuSLadPN*7v0kP#ePy2y)qvY2W`X33o=GAJmPE31ZlGr!%cxYV-L06hxuv`Is05-?N zi^oV!T^aL!dCMzP8XJFMMGWT;+9w`(L068}lCLJaRE)&B^k8`@|4L0hO0{4eppX&) zJ7F{pbL^S#-tV0N^dcZq3mASL7mh3r5fek>m{1$VTDnREVmmXM>_4e7ky0HK250g; zXH9OORVSCpyI=B!djT#BV$6OChVNaasy_@|?w8%}=c%%C)$|ude%MR0;}SKiB<4Kd&g6GogGfc^Q`U*jwt8R2>mapi90)h)ZIdD z;samwpxe}LLQ6Z#)%iNWYrA7Q>UsUsIudicDms9NT}c@#lzmaP9v&zDxDm%^RdD$* z9I8-}#R(g(O&6NZ(2xHl3qLj;SR}LrzKf$b(8&AQ*cB0Qlj-Rc5*LF@wTn z^4NBK6=n~MY3EH*kVQf-2W)RKqxKogfg$0G$Rp@R921Bv{MvRX2*0txWCch}cZcH8 z8Q6kZ$EW^3Bm~*edkhUAJ81==|KX>)?Ri|ehx$FzeLd1-OP%&Et&M_VS4t|JLxyVG(D0r@ zbg?~PX9sAVc??$6N_jxSOLj6KQac1k^IU$5!dtb^T&jj*TrR5WKul$xZJ97IyF*#} zX|H#vs&^X03g`c&JH9sxhCq5Wye$YHBWs)~9MIlR{w5SM8T(pwk zlvPNUC8^hcz5M<5>D!EJC3irB33u`Qut7w00@Ty=v2>pa^@PdNLB!39m+p(SmTMo9 zhv;tRw~}0=SqA>KK;8WikJ1;)7ZKR7cWi@yhGa>zwY+d2`E@HBsH#g(sj~b1hh03+ zLEJT$APH7f%>HZ8N#qp{P>=NM*xkt6yYWDYUk{qO9VRlxH+<1bLQy+ui_Iyhdj8(E zqoAwiMN659sc(qd{1btpUxkhSC(h^CxfG@u;>;FBM!TedsBp%}ooW0x|B+DOn0MN- zWxmMwd`)@B1~dgRBOxlrffy%glHZKYOS5$6;A9)IsQdO{d6{`4qw0UQsTXvc=!89u zeM|i#Cd!-7OfOnzus(ilE0>SwqFR=!TvHo`*gQ{E3%!G^&j(-M3Qe`F26ww?#JlfN z(6_)k@UJHMvoLI6eICgw)2sAg35!4;V3PmGRmEIchxUyf>aCaV-Xx)8P}j0OuJ&8A z=}gS4lzc3${D7s4wFhYh{Q^RV+2nn)bO2ANMciR-4)9-^E5ER0MFKahD>2L9)Y8VN z0t_*Gk^QUG($SyjI>eY^47`O~lAys^w|2%l{8O^;cC13(v0bQ!RV0sgBgm3#0R_mkGAM{=ybi#)9K?)OanhpT5$k;C7)x_a>-hLLnV)w@bg_sHA zN`e5+?;w2U39r$7kTVFfoC@pHg^G`h3x?m$iJk`BYaCx21c6W4Px0+(bV4ICJbS4# zwP~V5kJl1FB;UOxJ@c3oo0et&^GVsXS1I5oqeZ^~T`1;O_pF+WBc3hi-S{e{HM*>J zG($T3bYS^*YBx6h(TwD>?PlADD-I>er97g@&wzRcp@_4V!g$%RS}&VaZWj-1lrUP& zy;AAN9cL}1PQh!_4xOOXeUO^M^76c4?p9=?5&`L?B6}adjcy{eu<*KuQ2Vy3EhNF= z!CFI-YG3YIrNeB{eimit5MiGsgu)7aYaFGW<}eyJ@nyw^#hIG{ z%mOd;(x%WSkLO|2{*FjVoz4RQZHpy`OhA6(U|ChCu0OEf<#Pg?oTZLvpAkS^%TO zyg?QN#_A}tNo2Gd^NRlYB;e?eQ&cpu3_@($OFWZ8?O8D=DX^YZW%k@xZE+|G58S;r zFayt#$0y;;glcQ%1xLyzy}vkm89%B)%0%!|cxl%GCrIW86@V1v20`|f%jDn>Sj0`?<%2ws zg4-2>tE;$+`CVyctgT-^Sqg#>EA9BqdYY7UQ-R+HugI22iA*<{$|c@@v;|z*@wFU$ z=ChyFT+vzaJcsfjpLiV#632*o*vucwXADr6Lo)f)DBe*9^-E-3N%u*RwzwGaJ?Ydx zJClHkSe*#2tnAL8b(DH5ZEkK3Rq*}X++7ibPv`c-b}>T=JdJ!uh*~jWr-ja%nf2d7 zOIIOg#4z5Xju);guVhPB0N5Oq^>sCXp(S2@nMH!6S5#Y-hvPCXk^6r(nnH7@KnKy) z7s#kB*w*)pAwGjD^736C=R7OB>VUJTV@RHfGON}XUhdLz4z-;SFBRG< z0}dSBts)D2kyp1FlxpI5hhFzG(AGrohW4z``fOwRT;#I~i-kUYMo}{Ft zg|)T1%3D5qVvSL-#_iS35%{z_9DO#FF5i8Q7#+@Q;6(F0LQ6_+($YFU$wW++(oG+m zlHMV+>|N6|P4dEoUahnmYJU(;82EI;{dZd#4-MqwBkzolO(?aY_Z8%Jxe94ZT{B@%YTvO9GH(i?rBbd@w>=@byYA+y6} zkQ3zW?1R%&u&nQ(&tJY6rPBBr$z1J-)vW!ezbH5e0?y`pj)@nGs@+d!N8L5GQ2BkWMO# z%qOI7p&+Ep#ZheoVqT-#uE5qp>9bcUT_e=!EHas z*?r>G=2vtUF_g5BG%>loolAa_TuZX}gIYAc`Itn*k_a*U*vaAaS!87nRPLuk^mTCSG2$UAx*2<1~%aQ&V4pg7(=u;79Ey_%EBb3I!uKrz8QzMXiXKmLq?r zm@+_78{|j%zF$I-0;rNei-X+7FK76U$C2rZ4fR`NyCjas%l+x`pmJV{xoX$2s-LE- z(QS^)=td!VcO>dO7{F8AMtNyz>3KtJ4pK|kn%RV_dyck0Wmm>mkoU>$=NDJ3y4%k(h&hgq%4NAoigQ!0nQz7u>vD7CLX) zO*|~GI5zItk_5J59Z@_oD;Sw&vIxB9oCo&jVr+1!7FIZO;L}7yqVmLn`$Hx5r#E<= z2-0B`B;x11-MuRimFUqD!(ur4z-TQQc~&xYH}Y-EXG7Th&U?o~?UG?xiHm!&ad9tB zlfW-8QiY3+L=QMzUEE~oswej=&4-rmlzzGphp#R5jSMm?xOf`7Bhlo<5r09RWqdrM zrC`T2x~*&J7HgeiQEqdQ`PA#=uzdtu&35i}S|7Iqa^uklB{P(dk3$9p7bwIrAFrqT zND|@swHT{(M9{`}tSdb(S?nTxWLWoU6tdHFPWP+d7j5JiiI3}FlS315lOO>7dmf{Y zkAL*Z`RpRf2}xa2FF*xpIvrJYb#=|p%3>1U8eZjJ3%f>MI_;^naEQY50|88Hb638` zbACRkd+t+KBbAj4lfcP-g)MHk_8tM5Of#OSj4y^jqwsOV{oxl3)w`!xKlF>!e*gkR z5CHsLp!71Hl}gibaB+>qDN$?c=zQkTo;c{rc(!-yy|%J3404`*d`|j^*Miooa_tCb zRNu<7sTFu5g2g{q7HUTdyS=`O)T9>Zv_=u1f|E8|O&Sln3MX8X*&$aZe4sV(o#4mJ8tl* zMxRb1HJzQa9(SUMMe`;msJL`1EV~fZ#%OQ5I_m)Ynpxq;*Kc$jP{Da_Lzb48t=32M zzYr?=)?@r;eD^2KcqtZk-yDLG3?P0GB#F~ulbo@I*Q}iYyDE{GGuW47+Q7iGonT)c z?u(eLy>dREgA(FZI{4lrIW-}g(bDv>LW%PQR+h#fJA^?dtss={I02xwC;rgDz(AmU zsgF~9kt(MGTt(TzVag|% z(e;C!s;c+%rCrY)GiVGMk*ovNO#&z!HL-#sCvM78i05Aak*_|`QBv`!ufig8>D79iax$;t!CY_!w9v~rd5NCQV(NL$3>;OXw2BQ9 z^Rxd*BMjrl(i%s8Cya zTksJSq&lPPHeQN7-e+6K80Lvh?U0QN5zmbp-;0>^ z_Qs<+o9Y*n!b7uXCgx26RnTwdN!nO<8=&w+i*^B=s4OJPXnSZp$l0lODmp7@pZvhx z=;TYma*rwi+*J_~mh+KMZjkjL`jYK?emJq(ZcbFP-~TELe<25;^#_2m)f@iF_)2II zfiUNL_R&nEa?>^B937|TxwK1Gh7Fzi|fXOYq8dhrt+)TR+kuT5HdsNws;Sk>X$ zie2GIK{$0u*Kg}T74WK4c+aQ^4TV0>jffy}Jv``KKP>oV_&Itonv(jg7q5}qAt&BX zw^{XL{ElOZgkoixfft$w$p`Ij;WR$&Q6HEDY;;Tw`lFlytn*HZn3-DnIuF$1fYR^7 zr}+57h6d3;&;Nne%D;#4U_DA~`ACC9kNpIH{hyxv`@biPLG8_ow}^uI8{eh8;96j$4x{l^@%)Btcu%O&KCFMI(BMj9zX#9E zFke3ol89r6FwvwW?7s8(fcxZo^X_G`82I^{O!+S!)t?R<^ZAC6yK{KFXa8O~xbu-`1amc@X}0uQ5K|;F3+*S@%f}}fza$}#4vqT41Sq;G!%Y&yOcHP2)9o?QReGY^dvCnw$)f&SKFVhyg!rb< zn#PiS!w5Ytl<~;Pf^f|AY3a{Bmvrip7 za&a||9&w*HM*Xha;gC*T3`o8%GWq@6IiUL1lYcw={mol=MwtozTbV~9N^2YZ`IDw8 zqmLNV5Dw7@2esU87CH6`e2q`r>W*nf7V6#<_nDEqvVT)V{AwMX?yN1nsgYw*u@X4n=+3dG9OA| zP_B3=6gyr={qf&X+|RE&X(#aa|NMkY%6?Z<(Hlb(+8JGi$2KM9Iokzm|T zsf4kHX)g4xgky&-VzvC|Jb!-4Fmv+bJ6u--QU4*W<O-F|Oq0^&cyv1<(JUrE6bw()MS{@7W5ik08MA zL&9ekbyF7wmlrjM33wxrJ3IZWRez&Rrnucnf5cv4WxsM)l#w?c`&b;dn8ljaqX{tU zhe;y~oSi%D57faVn(@6`=)A$?J!8y!{|?m}P09@{TEmv|cFS2KSaY7tcL_x`b?uA> z-)DpCiXjf7{6qf=N|C^wAMZxSta2xLShy(oR@AgJzR#){$gWB`-TRB_A9>ZiH?k$c zR-^!R^SDT{2s+p~>8+cB(p%+ybNK@G3$Sqd>-j%2S}s%Wq?kKd09LuR@L7pt-Tv_6 z2LtU46-%kVg{Bmz3IDy2k6Ux>_Fq)PQ%W61is5l-xcF}w`>)V^+L%a@!xC$tNXlf} zU))ktP!?ZCn{;7UW3^Ht1b+0gpCD!R9z6~{xCSg6d)Yn3QUrVMWYQ}0y$)9o+qFZz z_UUVHa^Csj`GE_-Qk&l1M8_~Jm&ut_9xa)_c1=*yyXuA`Q_{GwtV$$E(ue;a12z46 zpcXAWEl`JkIq~L-#bdFk=EqeR?!PSW83_dY;rW5uKz)pAsVLUKk(v1Par~E~9}Jus z`*Fgi6NO0>-u@%;l3MQxwLv|nxIf4e4AGzEQnxy}n>DiG{9Jeo?zb$1#76R`~uor(T!d*eU0PDLo;^Opf+a$r;=biC$fP)S&GQIoHY0WTNx z%q=1Hr;@mmm(_iI(Ap}&#+loZREv)@Ce!ta9&H1hstLzT{hA_0A zo!RYOy~&sa3%gkqyW?B+uW}kNG49HqI2C-YY!50hpAs+pKHKuy!R)UD_Ji&ms2`pmxCC1dA@Ujp zQ84Ls>R~W>uQi*WH+|O4_@AM{#{AwWoW*ED%*J7>%zv1LyxThl5qQ{{5?|)T`g@K&vVH8jRoSwFX56w?r7Qu ziNqZGp?@)eVzSx2=k(8|{5S60lrHIQQE=z2c)>!g;D0*(2dfU+H?+vonzZmK$ov~Qy?Hrcdm!8i#C_J;HRw_e?&qr zJ4IjIPGWI0kX^l!%Gl}Ym3no?d%u6pn?9cB8y{Q!_r!x7gK}Q86#?evPOYFCTEE%X zUt|R4`KRk4{|fws;={4d4fK8bTFbKSuU~lvHf^Wz|K065N(I00I<;C$Cr@ky4-ZAs zg6P!`z5X3-R@)m~!lx2FOaU22d$c~S&susOo<9%z$2=*9+FqCP`#{0@Lh zhyJqL2^Ak)(D)W1QoZ6b;sRB?JR}GS9C|+tyip`FYC&}S%7vEZanA;K?G!Ux2;a|< zCu-!xstjy*8O)^zaK_)KP~hNli2v^7+YqYSzgM4vRNe~cE+Qqx4(v!{QCpvYFr{#r!S&r9{z z{Yw#ZGfVO_tr3<#q}wm8pKzGrhtw}03lAs%nTq=(4S~$O`Hq@?F-12GT)g98+<1Oq zDw@+&P#s^^U})ryGsLT7(T;rDx%5(^{p^y1my=uUyGsw&CA2FTc3zNONhG~&T;=Tm zR}^o0P9ZLhyZ2sfx%;1m-l$XUmyE&T+YTYabW#gi!#Qy!K@-OM6_|3mMG4~90-^pJ zWS2F3&F#AW#JHX%A5Bdop=@og46cLZRXJ|L_sQZo3(_%x$4hrHBgc)f$X9C6O*fHf zvxB$b%o@4qn+7op5!;P9mK!zetbf#w-!0*LQ#)mSh+@;$Cr}ZF=rpel&dy10u4Yha zv!deug@h)IGf9pdca>IR?ZgmGd71wKQJ=JbV-oc@*}!jESA)NW9MbJ@=)oOdZQ3j}e{Bo%8$C+9$(7wFvD=R1DDJj?YSG8J4Sk2(q##h*Edh0F8 z`xS4k7^d;5yW(^YbjBxW)7>K*b8s(Bcl$~|%7V^t+k&3^Pu9tKgS%e;fK)~7Kcbo{Q9 zTz(}PIMS5{`UGkAJ=%xw%mmh8N}IM({I$eh%J}ryA2bsFY%F%gKQ^0`<+4NnqXJ!g ztl$1w>YE<4+OpE9@c7H0A^dM|_@e?of5-C!_d!%la3!&ydH*QA|6_aq&D)FqOg3b! z*2o8W-kpZ)EdSpe(0{Xm|J{82r`si0qsv(#_ys%TcP{7K`7`tg?{o7UOaR{x3|i7E zI!oOsHYb#>Tt!K4Piei^ud=jbs3TIga3msAHnP3Y@N}={tf26vxw%J2>F!7= zOzf`LMp=}pwJsM?x{n);`0{I-`i1B`#5&3J{ygl6T(uN2U+>`aECn`mx|>v3n&jzQ zJ&j(~(KiZ>ylA282qZV8D21b49Z${UJIWNe)6TG|Okd-zb@@lhBwl5_9n4Zay5m-K z8|OEoX*c{NoEW1edOEEBY+2l6(#~-q#d%KF_hh?cMBA`76LES$zV$%@6RNBzivI0? z#S!I-Xg_Y6-*lV-thP%(=5!KHa+Ub*d(2MZc4&6?z^qBBg9Q4G_ev|gwibrDLi_{J zUVlrRT!AS={`#6c`0&f3QDLIL1|UdA;+fOG+`u`gJ95p(R162T+E)0BLbQ}*_tR_lqO7?ell#gtAN=v>PU5; zd35Spm^(M)wVk?FDbC-9!b!*oknKvt(VYE;*DS8xPX_M_vF?gKEC;9K-+z9#|s-KP^_FfU3i#Cn_5y;~`t7wR+ zH$3>;003xe=1-^CJ;)5`^J--G}xn zz2ch9A$LV_M~DT>V+`|vFM72+_X$4JGCXU84I;@_N2+n?lDUv5*~B@@@Y1mWwa4iK zIf;_Eh|$s4pPYhqOd`o($LE-%C3GdCiJKd~VZJNjyIu_rB_FqK-@e$wgr=i|B_6~e zVCVW6i>bY!Waoadi(=WiR`{v@?(b(X(p#yJJ%q$b#v3I3G~RKi*}v=j4#1vag=p9q)fJT7I!AvNeU4!WoM?Aa&sMx~}oA|2E`YE}F?_ zL_;oGDyc#PhtIuSh*qxR%lXab_x5hzbVmGcP(#E|eiY0oDR+tePtK(@{wboOc4YQkr!H zWaC#YxvXbfa(5d34erLd-doFh6*v4)x$tbh53v(^vpV;miRp&V?l|mn+CqeM+T3RY z$?rt??1mamRbzfVBi`;x*)uxVL88@_Y3UxL4-rPywWu*uWW-fEZ*a0J2)d?OKCHU? z>FjKs#S3Jde~X#kd#3f;{Cu!tpAy&4=jAYa!BsrJo33W;BhJ7;c7MIQ@+;2oE_qn}_6L&w zI}y+V#Q9OWgh#pY!iLYfe&oSsx)<7mu|qJqxaKgfIBrp7>q4=pbXnrc>@I8C`|~Y0 z%o!7x><|(j-e#0UWqd0e;jL`ua5hk$+w%73%t2<9;l7x;@)d~ufDe(epw6oJ)z{1< zxO{YLj(pLU_5{QF>Emq*SI7k*4ZrbGT<~MD9m(0T%1X3K(YWnaR|-L@Xe|}p`APaA zt=D2V4_LypcF(Cdt?Pov+SC&(F`W|qV_{Sl_P;jp6efVK` z%}yXsSU1n)_3IAsdH!efdc|5(N2|q0$Yh6x2XS$6FQNGKlKF!+O{{C%r=J6#-2Y^_ zyVUneYLO0dKJhwXkWhzcMC;g-@1spV%3!uu`Uakjxw3J+mR8(+4z)v=viF|)tpTvk z2=N`Gc{=6#V0E+C)`Ioryu;tk1vOFOy^|73~tzNmh#zeCdCs z`Tcu$-))h(zWy1~TxIt(;+!oSnLj~G7+Y`Wjwe)ZJegA zRIF?KRVt~(MS#TL+EB-~v9jswO$bA0B~C7sTTyALEKuAc+h+z1sA3TLJjSY)siu>; zPyub~ErR!u9)D+^h=Uw=t9?93f}{iWj&9{LzTYS7TA!EBi;>cVC{Hfi8?U8)L@~77;=WEj^UHlYki5ZIdFgo0v}5iZzMZ;T>bn>}=UVEs zDTS~ta>s4Ha#d@t9bp9bxKOW#2?M1hC6yxVD!f&9zSZmO&|tofDlRR=qBUdmVj#PI zAx?UT=h}AlCq}#U2v3&@n5@qW@}Ez&Au>`8bBpmEr5B+_VMtUXGLpx8H?0X@-0&=# zyaRdKD>+cC`6sCnI>yoX5w?dp3>7p1?;puKf@Jt#?JWzdnBe;6qR03w`r? zhwKqIkq_VEn@E(?#Y-2)%jmc|)Ne&;ygWpf1QJ6S8MteH*EDEgYj27K z1?Hx}6s`o<+=&sP;@di$g24{ou_Cc_48Abqbas@jKT-!(;`^JO2ljh#M zn($^6hM(B`wDu;Sy91N|=3oFGQHpd&E|uxqH(CAOa|6vaGu$uuy5_Akw{iB3xi11` znSc1^Knvqq9fJ?MYn+YSEDGC^h28Fmq(e@@_LJfDKgJcebEpmBr?YxMU-+WnK9>7a zkAsOj3XKj6%5$(`34VkT{)qu+wheRtdlZ9BsapYtfvjoKUB&!L^WkCm2^@YL)pUd` zENNgUY1-?${pwL87B9wXH+VW@qGaz*Pc9@?8df(A) zgH@ro;|u(ZXPdt^fqmdP(!Sc%)%B5x&fswipF= zu~x|$&ld)q-}|h}?fvK&nBE(7gL8j)Iw~=J!khc|m)f<0Lae%R+*?>%Dg(BPle=N( z`|Vd)(&O8}wTlU#e%uW-!k*Q!#!d7^HIYnVYOI(h`~43xoR98)SUKO&%mod6=W4!{ zO4r9Fh@^pEgknUS)}?vay@V&LDl{U2YAxFyE3O6^376efHf$awG%l~847O2@<>fdE z$ZoG@_#k7li2M=^yG5E0*{B3}bsM@_HSCe{L{dA{i1&$XHQ!m!yNb}mN)zN+Y|I~Kn;ZXMPeoUx%kqTvOF|Ya=MVSzZ%F-m{4OuG6 zP7FT`gUm2*ktLN<*2+|tc^UgYX7CExVj6416dC*4jNP2CI_J91?>g6Y&iUh0K@=-Y(O4 z<0xHbf4m2ofHYGyE4lP^tUaQ-iXyT9{k_QB>>D_IMn#UGVP8C(0eg*?&iwW{I1^#4zQE%8BOJm-+GF2!qps0Wa%q z+B?{MAB<(pdDWlK6t7Nsiy8LlWGo+!i^=)WAW!*uB<;rGyGb)VwLAZ?OK42l_joop zUvHo1^1xnu4C&WKQhP?d`x_BKB%(FI-)7y`j_!Qk)f;!%j#!fQ!-?Z~ozXzu!>0f) zs@}Xr;?rf@e4EsMmc#FIYGBaOxO_3h@NYK~8pm+N1`PQ?4Zv|uCwv4nJV%OudXY$Z~eRQ0QbQf2+)EDg!b`(ppd z{oB=PHKo0zU39gF#x5ksguv0(&Im`mOq#?yCWe*wYwzNnban)BW9$)VVuUWWcq3`$pdqvGhG;SJg z`F-T|aG~FVZTB`@xyr5g{9FAUlcN<(2x5$mjJ)k*%bL=WsU73veZDlhZv~NQo;4h* zQ#@W$lzdYrVW!rO^82`L^`ap>TQ1%Moo>f)E?iO@*i0X@PBnMft9|oQ#mXB;H9iGE z^lI!Rp+4WMVA$!T8Qr5y=ZI6XE0|>LRR+vXRZA}ZueHFtpX(6zlW&+6+@JU(b!@yZXq?eQ-k(=dlwC!3~#+lDLvXkpdPyW)AWU|QDIDLD0I>)KZ zF5{=L?F4&>OX>ny>#j_n{SCpNOcy#2<&MX_3=f~*3PV7`9Pqkt+Ikn^sH}nb7!RWw z*(W|{#V6M*h?X@9_8ehihFtocy7q+e)=OG)Frn>oNluG{>U*lJw%S`*g%Br&a+2LF zuSWRAcdq|!r|y!i^)lxLN$e3P!yotY;+}9+z;Z+emldPx4YL1OH;sq(qpcq3vvT<} z9>{667)*x-RO)<>wp{Dr=)L?pCQD6GFmGG1D?xNr5V5Iz6RcokTy})?`0B5Mm)GaZ zG;zW#)!{jTaKwqk(7AT_rEzL`7GuzUtBm25fi-ptzOf%QYWP{&!bEqsrtVoF5P5ODi~B zv3~)c-$-x{CDhl?Zd*qxDOPvwx@%%6EzVR>e`rGrsAUeud>=nxiPo2!eJj~9=7)S* zLQKh&%^#!1*B!X>7JKUHcyK2_t}D>y2lKayP}0T&0<}Jm>U-L$uaY~Gp}Kui=iryM zsRmsUnV)qRTIN72RPiR(helxFGd_{4?A921yJw24fE6;<3UHs5OQA>hJgnSnWJVP{o@F#Yo@yN}^%G$65(KTfpZuA41y%w3Y z4^ph;nQB-vDJ8eVG14b(zH&LKlyBuDX&q)QpdAut-ZyXHq`hyOQ~n#f`ww}wOnOrmkv{0ea+YrJ^lZ6~&^ zzXx69UbRm>Gb|9%^uY1r$@V#E$GzHz-itiIQAT6)cuOi9;C)C**99M;d9uO2HvIUR zODaEOc&M)Du1?`);|zqfeqJcKVv4+Ci^kJoqTJn94Yb*`x(rRStESo}jIpj;u!Nq@ zEU{a4{=AC(hv;5+2~i=)z!Rjb{!Vlldxb7|!!Nocudenot$viLLaQ%gl7TCkU))^# zPL-plz5k;?f1*uSQ)e^nZ7SI#T+2g7LPoL!w{UO9s9X`^Vp0kL(w#wLBm14&W^$JG zOoWH9x;nF!*jV!65uvk{pG=0!wnz}RzPsPT)=6Dr6cv=}N1JXBR~o31mjX88uwxwo zJ<}Kh9yHwBWb zxOe6*5Th5qlCYlnUdESL0F9rpTKlfAQRrN3!}4V7cPw^#i#&+5)K*hYTAA$>?lcy_ z6OP=PU+eav5?20^Iy#2nJxXE}=aL6Rch+rqw8$69;REtj7hVJ5v)C@((WSdb`LEEC z6%BM8Kkt%- z{Iplwyqh}0^7EJJ_wl1DkmYf$DN3>4=-}-*LfN-Mv>)}@X4-pB@WSv=-gaBhL+Wnb z-ytr_Q)Q~Xy|A6S4g|lyLlZK6V)Y~zvEb*YZMWy;bw(K{w5dx%rjOems4T);uUH-m z&d!C(NNscK#&d*do*?B>Or8ppYTFA*c?j;jHf>qAPwwok2;QX%`2`~U+;OW|JVk;) z{}YdG)(M!LON`Jb&NXol-jAScB-w0zmruLv|JbtL@fK&KvdbVpIYH#CI||a$uKKgW z&!wPLSjN_!W^|$2pmU09{9mfk{(Jg2LO~2E#HV}Sndfc3otbjWvc=}$ri72weLNPZ zt~VTYP^Jqv$682_Bk__~3fI*xKw5rtwUhQtH70$x!vh9?AcR^!M7uZU(+Ee}dcVP% z7}u~zSWYdrRvETP^4D^gBdnP#6_p>}0zlZfDtBQy>7!A`%ZT{8)kOl}45Q1!KW zBm@DyhN05gef&E#HwM5)5WN)2wiYx#7>zfYrD2~(V5>(o;gj?f{ zHj;oRBB#jni&h9HhRWY;GaaZz*S7-{b3^kby{FBn3xM9CQ)cSgDt<7={@RSopu_?< zQ~GBVCCjTIYoDJMsgg^y{OTAS)?>qJu~T=kT79AQ-rcQgSvA#p9z)TTX`bb>fs(Wz zS9A3b?TDrQWDtIwN+eARHUethkxqsYd$hlNO#2Z(?a9+CVZ!*i<$@L(!5Fte6iKDRxAg2O2_Q!j*>@x*+45DkcR6^T5Fz_NR=36ogrNXB> zy6zCAmDp^vPdiT_WZ~Xj=Ji9BvPOJ^Z;#WMWWsHxi%&y|FfX>eL>2Mwr&vzd+2u7& zO@fj>uvePQpdG?5V$VymZp0YEXV}^AR@!-1OjQtDJtQ*&kq1rx;cdwnS>R4^zt&g9 z=dB`yc#1l9t(7a44#0`Ws+tmSk(!JzBGh;8GUZ9YI4{yR*}Kg5Lq&IMQQolNfQ>#E zwy}VBlGUz9r1hb}M@7!DbGnmXs*|TUU!LPuVj+)jmef8oB6^`SSnccg z;dG?+!I#@%ZJlQJ0wLow{mHE1JZd)^+sC1tuisBR6{9 zzpKR&CrfKqPAsibjz5C(^ zOY(~fS#e8}Yfb<`A@x(m707RFu>iQ?x9`5j~ zfkW5#YOB0VgRjCkL6Tn`Q{VeLng2{1!{Df=wsr;0x%6pQ3y|mF_nQq0omJtFKW6`f zs9Vk(29&zu4+#YbzFO4Ev#wgHo|`VxGt$q_a-aAf9Y}1B7v*B)w!w5HY@VP5q}bid zPI|Y^l%xQ_tDlXLhH`z`6=D{B`@c{ygQLXEn=La3@8cSWwwjem`)4RCtM0;&2IuDF zZF5bIn>N=aQs5953r4Z3P4bX`Xuc)a3asc@_pJwbN^BG@%TL*CLyGV4X)QN&IAUR8 z5fw$3hxCuQ$wG|{eNFv_Rq6@nSrbCE;WMJq z=PuBgPvo~H5>rZjf~^=MnDUwpL|a)$yYrWges8G3WlJ(c5w(AIM?_X1u%ExwP^zPvdmKs`Lv9olm)A76G3&`W1&&8^uf5H7jeHy9B zfWXYP(ad*RW_u1jk)I2y*gX_=G#8qVq_qkQ4%D^o8t~jzn*qYD%XFkoGJ8G+N8ral z%S(ReKSBE=-F_&>t;CuexPw4_DM*IK1aXAXue2INMwdTp|q7#>rvyXj6KxYKj1-BbFe{r*!A8so(s| ztgC(@`iJe|Z^L~3s4MoE=F0hb7l~l{Zd}rwl-@kq!*|&L(sCo$)lNp|@rS`s4NYmA zy&wqcM}NrA(>?J6CZmCBTVPSD*po$m)jZm7JU`fpp2pVj~9c>j@?@ymxpp zJCnVp0CAavqk<=Akmh8qEXLAZ1E8l{aJA2{v-&8&j^6vd(2d5r?fVx)_il5I7gvG@ zF|66reZi9J+J!d~Ro&ktE(WBFfekntj9cVmP|xh`O&g2?8p=(XE#*(twJCjd{dE7b z*BOmt1$$g7uGIB^zyL&?QBVI~`a{x`v+2H-kk)us9CB)9s?7egcNu{6&OPEgMc}EN zWqffj5Iv1-MCZ?EP!z;mavUp$3x1NB6{gXgU-P zdl)yy)&r4jG{BEI{k`f%vviKLk1@Ib&?vCbX9O8JSlaasCbh}%vQuRgw-lG2s^3wr z`$?{zGA%tGYK%L??s&Hni3BiN6=0zPlY&Ynq-gG$IbA1I7$Vo+i`iA>-|THCZI^6J zN#-11FHWjzSK?C;MgVKi>rRZJ^&<>^V&a-5HGDU7h)NrJ*V@r zh-skSR@~C__P{2ixXySk?*R@3Wh#mf&2xS8lfj#!K-P3ONK(|ZOwk@BQsBG%5ezAZ zNHX3s@Zv;5&1@!YZ2o19dk-yNt0f`k65Tu`O&RsplU)^ImufUTnV+E5#wMd*-6FQONu>gbFs-~LHS`s=de&U3W_X(GX-A1D>Ipst zaBks(vZwIeqqvu6C(@9%Z)Ix4$E_FLf2I`>mD@dDwBe%B4;D30^%`$2LamA*?k3a# zoc8(;pfzF57NKU(30X!J8Lv7bRIx-sQ^jJd(*O!@F7%4h5Ub9>8dB)W>ws}#18s$Qt` zXT%ym9-IJi9}~EAp?>Z6g|uIjVx9PfBcEA(s?dNMfPe8m`z{w9>-kl~g3QSADS#jU z=Vq0EY0mgR>pdy7A2knK5l$pR}o&L4inMY3v$k6wqId3|aje-Iggt%hbWl*w$_^=O0R?^P-Bgp^%MO zNhe6ZbA!GUH542)N|4_)7@$M&_jX#n!zRF0a~8z<`{W{4zpnN->)UgY5GO~_u}hN! zJ3(E~^#t%eYvA$oupLQ+O#t4GhY3O6E!XUWaFhR2b5GbrR@@1dfBB3139x;gdk}J& z9ee~ba~z;N^QNNiyN~}&e-Q|auBJLSKWcIqSt{R&kv3uhHEw^+$d=p@g+eu1U5x7R z*4)Z7JrPKM@KX*wA2W~yVA^5$zk?}zNepuNR}&>(hz|X2N3j2;>*)VSkm_K8;PZdg hgY>^@5dvDslfM@1rFBdZ8@+RNl##h%!3C$Ne*=K3Fr@$h literal 0 HcmV?d00001 diff --git a/design/store/raw/02-month.png b/design/store/raw/02-month.png new file mode 100644 index 0000000000000000000000000000000000000000..8c37d18ff9642815fb9d5f632c96d485ea75bc3b GIT binary patch literal 235598 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 z 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 z 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 O65UeQxn8Df6Z$`}o=J58 literal 0 HcmV?d00001 diff --git a/design/store/raw/03-agenda.png b/design/store/raw/03-agenda.png new file mode 100644 index 0000000000000000000000000000000000000000..bd3048bf3f3a6c99539f1f62db0fea39939f93f2 GIT binary patch literal 232834 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

R=l3afA7_yRj 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�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%0DKqU7ZR;@ZQXCpt}ap2{^W6V-u>?*XK? zJ&61bKYT3XfuY7W~?YaIO!yX$7qQwMqVVP1HK)jv@U)N+&EwNboz7uXlo!|!i z?xg1pS0chJa~f^pZokrmC2>*@w&cStdQ1|)=QJ<-Ro6PL47d%b5Rf)2w_jsrw_CvS zu_)uD)zwweJTA!FXl07@ zn8yMRu~IZoCER2FmYiITsNbe_{#Cb@@b5W^vM1kzG{Oy{ClD=XR%;j;iF(?4>M!XnlkU$#83hT__fHxC1_rKuPo$8Lkfy=ata!<<+1X7t+GQv` z1+$XurVrs)%|w`gXqe_8^UtovQzvg-@g+06T9cbXA~;%h?@p5H7=4)Oh~IHS+Q;UF zp?7SHAo)==vw+@d#g>+@-S%a;^sVY@<^kUyKl1{y_B(?b-r>rQ9sN9Jm@*2w?w|>M zKmY2|3KI=bLaIPO1=!nZ>-kDI_Cuep?XzbSe)!&tIQOBYL*<@ft?4tE{21uwCee() zAOJnxx6uYbqOqT}ahaVd!1m26B?b3E+}K_L!T+oP4xr!63(M48786_b{p{@0ZUFwq z{Gm-fV==IvU~0pwgZ_})m8BVvug?+zEUHlWir!w9G&E|!%37kT$)d<+b&?#DmYSOR zU~B#CKrVQlEUdaf>n~j;k&};0#?PRt{_6eveKSG~Ct;=BO%Ohh≥Asr1STkWfw= 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⁢nz5JU_Q0JpINdpglw&T}~x+ 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 literal 0 HcmV?d00001 diff --git a/design/store/raw-tablet/03-agenda.png b/design/store/raw-tablet/03-agenda.png new file mode 100644 index 0000000000000000000000000000000000000000..fb778150e2c0c9b700599884eadcaab54f5b506d GIT binary patch literal 149230 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�z;XH>oV;GVi*w`%Z=HH=Lq^tYoCC)a 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