From 1424f0ffc054dfbbde5ba34c78615fe02aa9bc84 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sat, 27 Jun 2026 22:17:24 +0200 Subject: [PATCH] feat(backup): connect one-time export + automatic backup into one card Co-Authored-By: Claude Opus 4.8 (1M context) --- .../calendula/ui/calendars/CalendarsScreen.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 eeb4086..4900a71 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 @@ -306,21 +306,20 @@ private fun CalendarsList( Spacer(Modifier.height(16.dp)) SectionHeader(stringResource(R.string.calendars_backup_header)) HintText(stringResource(R.string.calendars_backup_hint)) + // One connected card: the one-time export on top, then automatic + // backup (and its folder/interval rows when on). GroupedRow( title = stringResource(R.string.calendars_backup_action), - position = Position.Alone, + position = Position.Top, leading = { LeadingAvatar(Icons.Default.FileDownload) }, onClick = { runCatching { createBackup.launch("calendula-backup-${LocalDate.now()}.ics") } }, ) - - // Automatic periodic export to a chosen folder (issue #8). - Spacer(Modifier.height(16.dp)) GroupedRow( title = stringResource(R.string.calendars_auto_backup), summary = stringResource(R.string.calendars_auto_backup_hint), - position = if (autoBackup.enabled) Position.Top else Position.Alone, + position = if (autoBackup.enabled) Position.Middle else Position.Bottom, leading = { LeadingAvatar(Icons.Default.Schedule) }, trailing = { Switch(checked = autoBackup.enabled, onCheckedChange = onSetAutoBackupEnabled)