feat(contacts): lock managed fields in the event editor
When editing an event in a special-dates calendar, the title, all-day/date and recurrence are locked (the sync overwrites them) while reminders, location, notes and colour stay editable — the field-level "managed" contract from the design. - EventEditUiState.isManaged (calendar id ∈ managedCalendarIds while editing), wired through the ViewModel's state combine. - InlineTextField/InlineField gain an `enabled` flag (dims + goes read-only); ScheduleRow dims and disables its date/time taps; the all-day switch and the recurrence card are disabled. - A one-line "Managed by …" hint under the title explains what's editable. The calendar picker needs no change — it's already create-only, and managed events are always edits. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -68,6 +68,8 @@
|
||||
<string name="event_edit_close">Close</string>
|
||||
<string name="event_edit_save">Save</string>
|
||||
<string name="event_edit_title_hint">Add title</string>
|
||||
<!-- %1$s is the managing calendar's name, e.g. "Birthdays". -->
|
||||
<string name="event_edit_managed_hint">Managed by “%1$s” — the title, date and repeat are kept in sync from your contacts. Reminders, location and notes are yours to edit.</string>
|
||||
<string name="event_edit_starts">Starts</string>
|
||||
<string name="event_edit_ends">Ends</string>
|
||||
<string name="event_edit_error_end_before_start">Ends before it starts</string>
|
||||
|
||||
Reference in New Issue
Block a user