refactor: split CalendarView controller from rendering #367

Closed
opened 2026-05-11 21:02:07 +00:00 by barrettruth · 0 comments
Owner

Parent: #355

Problem

CalendarView still owns view state, FullCalendar sync, optimistic recurring-instance state, drag/drop mutation, popover state, navigation, keybindings, and rendering in one large component.

Solution

Split behavior-preserving controller logic into focused hooks/components:

  • calendar navigation/view-mode state
  • keyboard handling
  • optimistic event/materialized recurrence state
  • keep FcCalendar and visible calendar behavior unchanged

Acceptance criteria

  • CalendarView becomes a smaller composition layer.
  • Week/day/month navigation, drag/drop, recurrence edits, and popovers keep working.
  • Focused tests cover extracted pure/controller logic where practical.
Parent: #355 ## Problem `CalendarView` still owns view state, FullCalendar sync, optimistic recurring-instance state, drag/drop mutation, popover state, navigation, keybindings, and rendering in one large component. ## Solution Split behavior-preserving controller logic into focused hooks/components: - calendar navigation/view-mode state - keyboard handling - optimistic event/materialized recurrence state - keep `FcCalendar` and visible calendar behavior unchanged ## Acceptance criteria - `CalendarView` becomes a smaller composition layer. - Week/day/month navigation, drag/drop, recurrence edits, and popovers keep working. - Focused tests cover extracted pure/controller logic where practical.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#367
No description provided.