Route the interactive Panama date menu
This commit is contained in:
@@ -417,7 +417,7 @@ git commit -m "Add live calendar state to Quickshell"
|
||||
- Produces: `ShellState.dateMenuPage`, `ShellState.toggleDateMenu(page)`, and `ShellState.openDateMenu(page)`.
|
||||
- Produces from CalendarGrid: signals `dateActivated(date)` and `visibleMonthChanged(year, month)`.
|
||||
|
||||
- [ ] **Step 1: Extend the failing contract with page-routing assertions**
|
||||
- [x] **Step 1: Extend the failing contract with page-routing assertions**
|
||||
|
||||
Append fixture assertions:
|
||||
|
||||
@@ -433,11 +433,11 @@ jq -e '.open == true and .page == "notifications"' <<<"$(qs ipc call calendar-ag
|
||||
|
||||
Update the calendar status response to include only `open: ShellState.notificationsOpen` and `page: ShellState.dateMenuPage` in addition to the non-sensitive fields from Task 2.
|
||||
|
||||
- [ ] **Step 2: Run the contract and verify RED**
|
||||
- [x] **Step 2: Run the contract and verify RED**
|
||||
|
||||
Expected: FAIL because `dateMenuPage` and notification `open()` do not exist.
|
||||
|
||||
- [ ] **Step 3: Implement explicit ShellState routing**
|
||||
- [x] **Step 3: Implement explicit ShellState routing**
|
||||
|
||||
Add:
|
||||
|
||||
@@ -462,7 +462,7 @@ function toggleDateMenu(page: string): void {
|
||||
|
||||
Change Clock activation to `ShellState.toggleDateMenu("agenda")`. Change notification IPC `toggle()` to `ShellState.toggleDateMenu("notifications")`, add `open()` using `openDateMenu("notifications")`, and leave `Super+B` routed through that IPC target.
|
||||
|
||||
- [ ] **Step 4: Make CalendarGrid date-aware and event-aware**
|
||||
- [x] **Step 4: Make CalendarGrid date-aware and event-aware**
|
||||
|
||||
Replace numeric-only cell objects with full local `Date` values and add:
|
||||
|
||||
@@ -484,7 +484,7 @@ Every cell receives `markers: CalendarAgenda.markersForDate(cell.date).slice(0,
|
||||
|
||||
Month changes call `visibleMonthChanged(viewYear, viewMonth)`. Adjacent-month date activation changes month and selection in one click.
|
||||
|
||||
- [ ] **Step 5: Verify routing and grid contracts**
|
||||
- [x] **Step 5: Verify routing and grid contracts**
|
||||
|
||||
Run:
|
||||
|
||||
@@ -496,7 +496,7 @@ rg -q 'dateActivated' config/dot/quickshell/modules/datemenu/CalendarGrid.qml
|
||||
|
||||
Expected: contract PASS and both interaction hooks present.
|
||||
|
||||
- [ ] **Step 6: Commit routing and grid behavior**
|
||||
- [x] **Step 6: Commit routing and grid behavior**
|
||||
|
||||
```bash
|
||||
git add config/dot/quickshell/services/ShellState.qml \
|
||||
|
||||
Reference in New Issue
Block a user