feat: add bounded agenda view
Add a read-only 42-day occurrence agenda with keyboard navigation, six-week paging, exact return-to-grid focus, search and calendar overlays, and bounded recurrence expansion. Keep agenda state outside persistence, document month-only mutations, and cover empty windows, filtering, overlays, navigation, rendering, and terminal restoration.
This commit is contained in:
@@ -63,6 +63,9 @@ The full terminal is treated as a responsive canvas:
|
||||
| Next/previous appointment | `Tab` / `Shift-Tab` |
|
||||
| Read focused appointment | `Enter` |
|
||||
| Browse inside reader | arrows, `h j k l`, `Tab` / `Shift-Tab` |
|
||||
| Open/close 42-day agenda | `g`; `Esc` also closes |
|
||||
| Choose agenda occurrence | arrows, `j` / `k`, `Tab` / `Shift-Tab`, then `Enter` |
|
||||
| Shift agenda by 42 days | `PageUp` / `PageDown`, `p` / `n` |
|
||||
| Add appointment | `a` |
|
||||
| Edit focused appointment | `e` |
|
||||
| Delete focused appointment | `d`, then `y` to confirm |
|
||||
@@ -77,7 +80,8 @@ The full terminal is treated as a responsive canvas:
|
||||
| Quit | `q` |
|
||||
|
||||
The first usable foundation supports day and appointment navigation, a
|
||||
full-frame reader, validated add/edit/delete forms, and atomic `.ics` writes.
|
||||
full-frame reader, a read-only 42-day agenda, validated add/edit/delete forms,
|
||||
and atomic `.ics` writes.
|
||||
Dense days keep every appointment keyboard-reachable even when all lines do
|
||||
not fit in the cell. Unknown or unsupported iCalendar content makes a source
|
||||
read-only instead of being discarded. Saves reject external changes, retain a
|
||||
@@ -88,8 +92,14 @@ semantics in the reader. `/` searches occurrence-aware title, description,
|
||||
location, and calendar-ID matches in a finite ten-year window centered on the
|
||||
selected date. `c` toggles session-only calendar visibility consistently across
|
||||
the grid, appointment focus, and search without filtering the model supplied to
|
||||
persistence. The next local-data work adds an agenda view, then advanced
|
||||
recurrence overrides and rule editing.
|
||||
persistence. `g` opens an occurrence-aware agenda at the selected month date;
|
||||
navigation is bounded to consecutive 42-day windows and `Enter` returns to the
|
||||
exact occurrence in the month grid. `Esc` or `g` closes the agenda without
|
||||
changing the month selection unless an occurrence was chosen. Hidden calendars
|
||||
remain filtered there, while calendar selection and search can overlay the
|
||||
agenda. Agenda navigation never persists state, and add/edit/delete remain in
|
||||
the month workflow. The next local-data work adds advanced recurrence overrides
|
||||
and rule editing.
|
||||
|
||||
## Accessibility
|
||||
|
||||
|
||||
Reference in New Issue
Block a user