Jean-Luc Makiola 0db0e3883f components: add CollapsingScaffold + OptionPicker/FullScreenPicker (batch-2)
The family's collapsing settings/sub-screen scaffold and the full-screen
single-select picker built on it (used for theme/list/reminder option dialogs).
Adds material-icons-core (ArrowBack/Check) and a generic 'back' string apps can
override. ReminderFormatting (labels over app-specific R.plurals + per-app
presets) deliberately NOT included — it needs a label-callback API, a separate
pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:24:08 +02:00

floret-kit

The shared Material 3 Expressive design system + plumbing for the Floret family of Android apps (Calendula, Agendula, and future siblings).

"Floret" is the family's design language: a Calendula flower head is a cluster of many small florets, and each app is one of them. This repo is the bloom they share — so a new app doesn't reinvent a settings screen, an edit form, or a theme; it draws from here.

How it's consumed

Each app embeds this repo as a git submodule and wires it in with a Gradle composite build, so the kit is always built from source (no published artifacts — keeps every app reproducible for F-Droid):

// app's settings.gradle.kts
includeBuild("floret-kit")
// app module's build.gradle.kts
implementation("de.jeanlucmakiola.floret:core-time")

Gradle's dependency substitution maps de.jeanlucmakiola.floret:<module> to the local source module — edit the kit and the app picks it up immediately.

Modules

Module What it holds
core-time Pure-Kotlin date/time helpers: local-day windows (DayWindow) for smart-list logic and locale/zone-aware display formatting (Instant.formatDate() / formatTime() / formatDateTime()). No Android, no deps.

More modules (identity/theme, components, screen recipes, provider/prefs/reminders/crash plumbing) land as they're extracted from the apps.

Build

./gradlew :core-time:test
Description
Shared M3 Expressive design system + plumbing for the Floret app family (Calendula, Agendula).
Readme MIT 223 KiB
Languages
Kotlin 100%