feat(write): event creation — form screen, FAB, last-used calendar (v1.2)
Second slice of milestone 2 (write support): - EventForm domain model + problems() validation (end-before-start, no-calendar; blank titles and instant events stay legal) - Full-screen EventEditScreen: title, all-day switch, M3 date/time pickers (moving the start preserves the duration), calendar picker limited to writable calendars, location, description. Save validates, requests the WRITE upgrade contextually, and closes on success - Calendar preselection: explicit pick > last-used (CalendarPrefs) > first writable calendar - insertEvent in the data source; EventWriteMapper (JVM-tested) normalises all-day events to UTC midnights with exclusive DTEND, timed events to the device zone - CalendarFabColumn shared by month/week/day: persistent "+" FAB anchored on the visible day, jump-to-today pill stacked above it - Tests: EventForm validation, write-time mapping (incl. DST-safe epoch check), repository createEvent delegation/error propagation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,19 @@
|
||||
<string name="event_delete_failed">Termin konnte nicht gelöscht werden</string>
|
||||
<string name="event_delete_write_denied">Calendula braucht Schreibzugriff, um Termine zu löschen</string>
|
||||
<string name="dialog_cancel">Abbrechen</string>
|
||||
<string name="dialog_ok">OK</string>
|
||||
|
||||
<!-- Termin-Formular (v1.2 Erstellen) -->
|
||||
<string name="event_edit_new_title">Neuer Termin</string>
|
||||
<string name="event_edit_close">Schließen</string>
|
||||
<string name="event_edit_save">Speichern</string>
|
||||
<string name="event_edit_title_hint">Titel hinzufügen</string>
|
||||
<string name="event_edit_starts">Beginn</string>
|
||||
<string name="event_edit_ends">Ende</string>
|
||||
<string name="event_edit_error_end_before_start">Endet vor dem Beginn</string>
|
||||
<string name="event_edit_error_no_calendar">Kein beschreibbarer Kalender verfügbar</string>
|
||||
<string name="event_edit_save_failed">Termin konnte nicht gespeichert werden</string>
|
||||
<string name="event_edit_write_denied">Calendula braucht Schreibzugriff, um Termine zu erstellen</string>
|
||||
<string name="event_detail_all_day">Ganztägig</string>
|
||||
<string name="event_detail_calendar">Kalender</string>
|
||||
<string name="event_detail_calendar_unknown">Unbekannter Kalender</string>
|
||||
|
||||
Reference in New Issue
Block a user