feat(views): optional jump-to-today button in the toolbar (#60) #84

Merged
makiolaj merged 3 commits from feat/today-button-in-toolbar into release/v2.16.0 2026-07-19 10:26:10 +00:00
Owner

Follow-up to #60 (app-bar cleanup). Adds an opt-in Today button in toolbar setting (Settings → Appearance, off by default). When on, each calendar view (Month/Week/Day/Agenda) shows a persistent go-to-today icon button in its top bar — always visible, on today or not — and the fade-in FAB pill is suppressed. Same jump action, relocated. Off keeps the historical floating button.

Implementation

  • New SettingsPrefs.todayButtonInToolbar (key today_button_in_toolbar, default off), exposed via CalendarHostViewModel → CalendarHost → a todayInToolbar param on all four screens, mirroring the existing quickSwitchViews/drawerViewOrder plumbing.
  • Shared ui/common/TodayAction composable (Icons.Default.Today) dropped into each top bar's actions; FAB uses todayVisible = !isOnX && !todayInToolbar.
  • Settings row in the Appearance → Calendar group; English strings only (others via Weblate).

Notes

  • Icon differs deliberately from the FAB pill's Refresh: the pill reads as 'take me back', the always-present toolbar icon follows the known calendar-app 'today' pattern.
  • No version bump — versionName already 2.16.0; ships only when release/v2.16.0 merges to main.

Verification

  • compileDebugKotlin, testDebugUnitTest, check_translations.py all green.
  • Installed + reviewed on-device (Pixel).
  • /code-review high — no correctness findings.
Follow-up to #60 (app-bar cleanup). Adds an opt-in **Today button in toolbar** setting (Settings → Appearance, **off by default**). When on, each calendar view (Month/Week/Day/Agenda) shows a persistent go-to-today icon button in its top bar — always visible, on today or not — and the fade-in FAB pill is suppressed. Same jump action, relocated. Off keeps the historical floating button. ## Implementation - New `SettingsPrefs.todayButtonInToolbar` (key `today_button_in_toolbar`, default off), exposed via CalendarHostViewModel → CalendarHost → a `todayInToolbar` param on all four screens, mirroring the existing quickSwitchViews/drawerViewOrder plumbing. - Shared `ui/common/TodayAction` composable (Icons.Default.Today) dropped into each top bar's `actions`; FAB uses `todayVisible = !isOnX && !todayInToolbar`. - Settings row in the Appearance → Calendar group; English strings only (others via Weblate). ## Notes - Icon differs deliberately from the FAB pill's Refresh: the pill reads as 'take me back', the always-present toolbar icon follows the known calendar-app 'today' pattern. - No version bump — versionName already 2.16.0; ships only when release/v2.16.0 merges to main. ## Verification - compileDebugKotlin, testDebugUnitTest, check_translations.py all green. - Installed + reviewed on-device (Pixel). - /code-review high — no correctness findings.
makiolaj added 3 commits 2026-07-19 10:25:03 +00:00
Add a "Today button in toolbar" appearance toggle (default off). When on,
each calendar view (month/week/day/agenda) shows a persistent go-to-today
icon button in its top bar instead of the fade-in extended FAB, and the
FAB pill is suppressed. Same jump action, just always present.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collapse the today icon-button block that was copy-pasted into all four
calendar top bars (Week/Month/Day/Agenda) into one TodayAction composable in
ui/common. No behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs(changelog): note the toolbar today-button option (#60)
All checks were successful
Translations / check (pull_request) Successful in 5s
CI / ci (pull_request) Successful in 6m3s
1b29abed17
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
makiolaj merged commit 9a1d753abc into release/v2.16.0 2026-07-19 10:26:10 +00:00
makiolaj deleted branch feat/today-button-in-toolbar 2026-07-19 10:26:10 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: makiolaj/calendula#84