Files
calendula/app
makiolaj 337bdf99d8 Give Backup & restore its loading and failure states (#304)
The screen derived its rows straight from the calendar list, which starts
empty, catches to empty on a provider error, and can legitimately load with
nothing exportable and nothing importable. All three rendered as a blank
page with no way to import anything.

Adds BackupUiState (Loading / Failure / Ready) and keeps the restore row on
screen whenever the screen has anything at all to show: when no calendar can
receive events it says so and routes to the calendar manager instead of
disappearing. New FailureReason.NoImportTarget covers the case the list
itself can't explain -- calendars exist and are visible, but every one is
read-only, managed or not synced.

Export stays available on an all-hidden device: it reads the provider
directly, so calling that a failure would hide a working action.

Also adds an import test against a Google Calendar export dialect
(VTIMEZONE, TZID-qualified DTSTART/EXDATE, folded lines, RECURRENCE-ID
overrides) -- the parser already handles all of it.
2026-09-20 21:49:31 +02:00
..
2026-09-20 21:16:11 +02:00
2026-09-02 12:44:40 +02:00