Maestro task de9f49a8-a6d0-41f4-9f75-8d7243546f3b. The same /dinner/:id route gains its tablet layout: header with back button, the plan kicker, 36 px title, the Keep screen on toggle and the A/A/A text-size control (persisted per device), two columns 400px | 1fr — an Ingredients card with 22 px checkboxes (checked rows struck through) and an "N of M set out" count, and a Steps list where completed steps are muted with a check, the current step carries the grape-100 fill, grape-300 2 px ring and grape number circle at 22 px, and others sit at 18 px. Previous/Next sit bottom-right and ←/→ move the current step.
Checkbox and step state are local UI state only — never sent to the server and not the shopping list's "have it".
Things the developer chose, stated plainly: the kicker shows the first day from today on, in the household timezone, on which this week's or next week's plan has the dinner, and a dinner planned only on a past day of this week shows no kicker; at 768–1023 px a fixed 400 px card would leave the steps ~170 px wide so the columns share the width instead, becoming exactly 400px | 1fr at 1024 px and up; "Serves 4" is omitted because the detail API has no servings field; and Add to this week plus the heart were added to the bottom bar left of Previous/Next although mock 2a does not show them.
The Keep screen on toggle is rendered here; the Wake Lock behaviour is the next task (c7da10dc). The seam left for it is recorded in the developer's report.
The developer reports typecheck, tests and build passing, and states it could not verify the layout on a real tablet.
## Tablet kitchen reading mode (2a) (Feature 15, task 4)
Maestro task `de9f49a8-a6d0-41f4-9f75-8d7243546f3b`. The same `/dinner/:id` route gains its tablet layout: header with back button, the plan kicker, 36 px title, the Keep screen on toggle and the A/A/A text-size control (persisted per device), two columns `400px | 1fr` — an Ingredients card with 22 px checkboxes (checked rows struck through) and an "N of M set out" count, and a Steps list where completed steps are muted with a check, the current step carries the grape-100 fill, grape-300 2 px ring and grape number circle at 22 px, and others sit at 18 px. Previous/Next sit bottom-right and ←/→ move the current step.
Checkbox and step state are local UI state only — never sent to the server and not the shopping list's "have it".
**Things the developer chose, stated plainly:** the kicker shows the first day from today on, in the household timezone, on which this week's or next week's plan has the dinner, and a dinner planned only on a past day of this week shows no kicker; at 768–1023 px a fixed 400 px card would leave the steps ~170 px wide so the columns share the width instead, becoming exactly `400px | 1fr` at 1024 px and up; "Serves 4" is omitted because the detail API has no servings field; and Add to this week plus the heart were added to the bottom bar left of Previous/Next although mock 2a does not show them.
**The Keep screen on toggle is rendered here; the Wake Lock behaviour is the next task (`c7da10dc`).** The seam left for it is recorded in the developer's report.
The developer reports typecheck, tests and build passing, and states it could not verify the layout on a real tablet.
From 768 px, /dinner/:id renders mock 2a instead of the phone sheet:
a header with back, the planned day as "{Weekday, Mon D} · Side
quest|Regular" (absent when this or next week's plan does not have the
dinner from today on), the 36 px title, a Keep screen on switch and an
A/A/A text-size control remembered per device in localStorage. Below,
the Ingredients card with 22 px checkboxes and "N of M set out" beside
the steps, one current at a time, moved by Previous / Next step and the
arrow keys (not while a text field has focus). Checked ingredients and
the current step are local to the visit.
The Keep screen on switch only holds its state for now: useKeepScreenOn
is the seam for the Wake Lock task (c7da10dc).
Maestro task de9f49a8-a6d0-41f4-9f75-8d7243546f3b.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The kicker only looked at plan days from today on, so a dinner this week's
plan held only on a past day showed no kicker. It now names the first planned
day from today on, or the latest past one when every planned day is past.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Tablet kitchen reading mode (2a) (Feature 15, task 4)
Maestro task
de9f49a8-a6d0-41f4-9f75-8d7243546f3b. The same/dinner/:idroute gains its tablet layout: header with back button, the plan kicker, 36 px title, the Keep screen on toggle and the A/A/A text-size control (persisted per device), two columns400px | 1fr— an Ingredients card with 22 px checkboxes (checked rows struck through) and an "N of M set out" count, and a Steps list where completed steps are muted with a check, the current step carries the grape-100 fill, grape-300 2 px ring and grape number circle at 22 px, and others sit at 18 px. Previous/Next sit bottom-right and ←/→ move the current step.Checkbox and step state are local UI state only — never sent to the server and not the shopping list's "have it".
Things the developer chose, stated plainly: the kicker shows the first day from today on, in the household timezone, on which this week's or next week's plan has the dinner, and a dinner planned only on a past day of this week shows no kicker; at 768–1023 px a fixed 400 px card would leave the steps ~170 px wide so the columns share the width instead, becoming exactly
400px | 1frat 1024 px and up; "Serves 4" is omitted because the detail API has no servings field; and Add to this week plus the heart were added to the bottom bar left of Previous/Next although mock 2a does not show them.The Keep screen on toggle is rendered here; the Wake Lock behaviour is the next task (
c7da10dc). The seam left for it is recorded in the developer's report.The developer reports typecheck, tests and build passing, and states it could not verify the layout on a real tablet.
From 768 px, /dinner/:id renders mock 2a instead of the phone sheet: a header with back, the planned day as "{Weekday, Mon D} · Side quest|Regular" (absent when this or next week's plan does not have the dinner from today on), the 36 px title, a Keep screen on switch and an A/A/A text-size control remembered per device in localStorage. Below, the Ingredients card with 22 px checkboxes and "N of M set out" beside the steps, one current at a time, moved by Previous / Next step and the arrow keys (not while a text field has focus). Checked ingredients and the current step are local to the visit. The Keep screen on switch only holds its state for now: useKeepScreenOn is the seam for the Wake Lock task (c7da10dc). Maestro task de9f49a8-a6d0-41f4-9f75-8d7243546f3b. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: APPROVED for this exact commit.