feat(day): single-column day view, wire into view switcher

Day view as a one-column slice of the week view: shared TimedBlock/
AllDaySpan layout, per-day swipe navigation, hoisted noon-centred scroll,
animated all-day strip, and a compact top bar showing the full date.

- DayUiState / DayViewModel / DayScreen under ui/day
- reuse layoutDay/layoutAllDay/coversDay from the week package
- add Day to IMPLEMENTED_VIEWS; CalendarHost routes it explicitly
- day_today_action strings (en/de)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-10 20:40:02 +02:00
parent 94fa206e2e
commit 951fb640a6
7 changed files with 699 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import de.jeanlucmakiola.calendula.ui.common.CalendarView
import de.jeanlucmakiola.calendula.ui.day.DayScreen
import de.jeanlucmakiola.calendula.ui.month.MonthScreen
import de.jeanlucmakiola.calendula.ui.week.WeekScreen
@@ -26,8 +27,12 @@ fun CalendarHost(modifier: Modifier = Modifier) {
onSelectView = onSelectView,
modifier = modifier,
)
// Month, plus Day as a fallback until the day view lands (v0.5).
else -> MonthScreen(
CalendarView.Day -> DayScreen(
selectedView = view,
onSelectView = onSelectView,
modifier = modifier,
)
CalendarView.Month -> MonthScreen(
selectedView = view,
onSelectView = onSelectView,
modifier = modifier,