refactor(reminders): draw the reminder-override model from floret-kit

Replace Calendula's app-local reminder-override plumbing with floret-kit's
core-reminders, shared with Agendula:

- CalendarReminderOverride (Inherit/None/Minutes) -> kit ReminderOverride, with
  the kit's applyReminderOverride() map extension.
- The hand-rolled parse/serialize of the per-calendar override string -> kit
  ReminderOverrideCodec, configured with Calendula's on-disk dialect
  (id=minutes entries joined by ;, "none" sentinel). Format is unchanged, so
  stored prefs round-trip identically (SettingsPrefsTest still green).
- ReminderUnit enum + the custom-amount decomposition (decomposeReminder) ->
  kit ReminderUnit + decomposeReminderMinutes/ReminderAmount.

App-specific glue stays put: resolveDefaultReminder (timed vs all-day),
reminderLeadTimeLabel / reminderUnitLabel (app string resources), and the
global-default picker helpers.

Compile + unit tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 19:59:06 +02:00
parent 763bb915f4
commit 7a04eff471
8 changed files with 63 additions and 102 deletions

View File

@@ -162,6 +162,7 @@ dependencies {
implementation("de.jeanlucmakiola.floret:core-time")
implementation("de.jeanlucmakiola.floret:core-locale")
implementation("de.jeanlucmakiola.floret:core-crash")
implementation("de.jeanlucmakiola.floret:core-reminders")
implementation(libs.kotlinx.coroutines.core)
debugImplementation(libs.androidx.ui.tooling)