feat(edit): add a searchable time-zone picker (#31)
Surface the zone as an optional form field, right after the time fields it qualifies: hidden on ordinary events, revealed automatically when the event already carries a foreign zone, and withheld entirely while all-day is on (a date-anchored event has no zone to show). The picker is a full-screen one per the app's convention, but it can't reuse OptionPicker: that composes every option eagerly, and ~600 zones would all compose on open. It drives its own LazyColumn instead, which needs the kit's new `scrollable = false` — the scaffold's own verticalScroll would otherwise throw on a nested same-axis scrollable. The device zone and recently-picked zones pin to the top so the common case needs no typing; search is accent- and case-insensitive. Recents persist in DataStore, capped at five, dropping ids the tz database no longer knows. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -99,6 +99,15 @@
|
||||
<string name="event_edit_availability">Availability</string>
|
||||
<string name="event_edit_visibility">Visibility</string>
|
||||
|
||||
<!-- Event form — time zone -->
|
||||
<string name="event_edit_timezone_device">Device time zone</string>
|
||||
<string name="event_edit_timezone_device_summary">Follows wherever you are</string>
|
||||
<string name="event_edit_timezone_search">Search time zones</string>
|
||||
<string name="event_edit_timezone_recent">Recent</string>
|
||||
<string name="event_edit_timezone_all">All time zones</string>
|
||||
<string name="event_edit_timezone_none">No time zone matches “%1$s”</string>
|
||||
<string name="event_edit_timezone_clear">Use device zone</string>
|
||||
|
||||
<!-- Event form — per-event color -->
|
||||
<string name="event_edit_color">Color</string>
|
||||
<string name="event_edit_color_default">Calendar color</string>
|
||||
|
||||
Reference in New Issue
Block a user