Build the Prism calendar Daybook
This commit is contained in:
@@ -526,7 +526,7 @@ git commit -m "Route the interactive Panama date menu"
|
||||
- Consumes: `ShellState.dateMenuPage`, `Notifs.hasNotifications`, and existing `NotificationList`.
|
||||
- Produces: a 760-pixel two-column date menu with left width 310 and independently bounded right content.
|
||||
|
||||
- [ ] **Step 1: Add failing structural and live-surface assertions**
|
||||
- [x] **Step 1: Add failing structural and live-surface assertions**
|
||||
|
||||
Extend the contract to assert the loaded layer and approved components:
|
||||
|
||||
@@ -542,7 +542,7 @@ done
|
||||
|
||||
Run the contract and expect failure on width or missing components.
|
||||
|
||||
- [ ] **Step 2: Implement focused event and summary components**
|
||||
- [x] **Step 2: Implement focused event and summary components**
|
||||
|
||||
`AgendaEvent.qml` accepts `property var event`, `property bool past`, and signals `activated` and `joinRequested`. It renders a 48-pixel tabular time column, 3-pixel source-color rail, elided summary, source/location metadata, and optional Join pill. All-day rows replace time with `All day`.
|
||||
|
||||
@@ -557,7 +557,7 @@ Run the contract and expect failure on width or missing components.
|
||||
|
||||
The Up Next card is omitted for selected dates other than today and when no future timed event exists. Use `ScrollColumn` with a maximum content height derived from the panel's available height. Event clicks call `CalendarAgenda.openEvent(event)`; Join calls `CalendarAgenda.join(event)`.
|
||||
|
||||
- [ ] **Step 3: Recompose DateMenuPanel as Daybook**
|
||||
- [x] **Step 3: Recompose DateMenuPanel as Daybook**
|
||||
|
||||
Keep the existing header styling and Prism container, but replace the single `Column` with this concrete structure:
|
||||
|
||||
@@ -601,7 +601,7 @@ When Agenda's notification summary activates, set `ShellState.dateMenuPage = "no
|
||||
|
||||
Resize MediaCard typography/controls responsively for the 310-pixel column; do not duplicate its playback logic.
|
||||
|
||||
- [ ] **Step 4: Update DateMenu lifecycle and bounds**
|
||||
- [x] **Step 4: Update DateMenu lifecycle and bounds**
|
||||
|
||||
Set `DateMenu.implicitWidth: 760`. Bound height to the active screen's available geometry, with the panel content choosing a maximum right-column scroll height instead of overflowing the monitor.
|
||||
|
||||
@@ -616,7 +616,7 @@ panel.prepare(ShellState.dateMenuPage);
|
||||
|
||||
Add a connection that marks notifications read when an already-open panel switches into Notifications. Opening from the clock must not mark them read.
|
||||
|
||||
- [ ] **Step 5: Verify fixture visuals on the real layer surface**
|
||||
- [x] **Step 5: Verify fixture visuals on the real layer surface**
|
||||
|
||||
Run:
|
||||
|
||||
@@ -637,7 +637,7 @@ Capture a temporary full-screen screenshot with `grim`, inspect the Daybook at o
|
||||
|
||||
Close the panel and reset fixture mode after inspection. Do not add screenshots to git.
|
||||
|
||||
- [ ] **Step 6: Commit the Daybook**
|
||||
- [x] **Step 6: Commit the Daybook**
|
||||
|
||||
```bash
|
||||
git add config/dot/quickshell/modules/datemenu \
|
||||
|
||||
Reference in New Issue
Block a user