Calendar · Months: a month view, a year view, event chips and cards

CalendarMonthView lays a month in week rows. An event across days lies
over them as a bar in the first free lane, cut at the week's edge;
the rest sit by the hour as chips, and a crowded day keeps the rest
behind "N more". Arrows move a day, Page keys turn the month, and
Enter or a double press opens the day; the cursor holds through the
owner's echo of a turn. Days sit at sevenths of their row, as the bars
do, so text never widens a column.

YearView shows twelve small months; a day with something on it wears a
dot in its first event's hue. EventChip is an event in a line and
EventCard a block with its hours and place. MiniCalendar points to
forms::Calendar. Palette::hue is now the one home for a chart color by
index, for mail labels and events alike.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 02:49:37 -04:00
1 parent c1a5603184
commit f316ab56ba
22 files changed
+2121 -20

No files matched your search

+20 -11
View File
@@ -385,22 +385,31 @@
- [x] LabelPicker
- [x] SnoozePicker
## T30 Calendar — `src/calendar`
## T30a Calendar · Months — `src/calendar`
- [x] CalendarMonthView
- [x] YearView
- [x] MiniCalendar → `forms::Calendar`
- [x] EventCard / EventChip
## T30b Calendar · Time grid
- [ ] CalendarMonthView
- [ ] CalendarWeekView
- [ ] CalendarDayView
- [ ] AgendaView
- [ ] YearView
- [ ] MiniCalendar → `forms::Calendar`
- [ ] EventCard / EventChip
- [ ] EventEditor
- [ ] EventPopover
- [ ] TimeGrid — drag to create, resize
- [ ] AllDayRow
- [ ] CurrentTimeIndicator
- [ ] RecurrenceEditor
- [ ] AvailabilityPicker
- [ ] TimezoneOverlay
- [ ] ReminderPicker
## T30c Calendar · Agenda and people
- [ ] AgendaView
- [ ] EventPopover
- [ ] AttendeeList
## T30d Calendar · Editing
- [ ] EventEditor
- [ ] RecurrenceEditor
- [ ] ReminderPicker
- [ ] AvailabilityPicker