The Regular dinners, Google Calendar and Notifications & Google Chat rows
now show status lines and read them from the server:
- Regular dinners: "N on rotation" from GET /api/v1/dinners?status=regular
(Feature 12). Until that endpoint exists the server answers 404 and the
row says "Rotation count unavailable"; no count is invented.
- Google Calendar: "Connected · <calendar name>" from
GET /api/v1/settings/calendar (Feature 16). Until then a 404 shows the
truthful "Not connected".
- Notifications & Google Chat: "Push on · <Google Chat space>" from
GET /api/v1/settings/notifications. Until then a 404 shows
"Push off · Google Chat not connected".
Only a 404 not_found counts as a missing endpoint; any other failure or a
malformed response shows in the error banner.
The AI assistant row names the model as the handoff does ("Anthropic ·
Claude Sonnet"), shows an unknown model by its id, and says "No model
chosen" for the seeded empty model instead of a trailing separator.
Maestro task: 97b50e29-b8a7-4e99-918d-99fa1b239313
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/settings now renders the Settings home: the "Our kitchen" shared
household banner and grouped cards for Household (Regular dinners,
Google Calendar, Household), Alerts (Notifications & Google Chat) and
Admin (AI assistant, with the Admin tag and grape-300 inset ring). Each
row links to its settings page.
The Household row shows the live timezone and dinner time from
GET /api/v1/settings/household, and the AI assistant row the live
provider and model from GET /api/v1/settings/ai. Regular dinners,
Google Calendar and Notifications show no status line: the server has
no dinners, Google Calendar or notification endpoint yet.
Shell tests now render the routes inside the API and query providers.
Maestro task: 97b50e29-b8a7-4e99-918d-99fa1b239313
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>