Home screen (1g) with empty states (Feature 21) #174

3 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 d572ee192d Require Home minutes_total and Supply run label for every list (review H1)
CI / ci (push) Successful in 8m2s
CI / ci (pull_request) Successful in 7m55s
parseTonight now rejects a tonight dinner without the minutes_total key
instead of reading it as null; an explicit null is still valid. The Home
API always emits the key. parseShoppingList checks the label against
weekStart for unready lists too, since the API supplies it regardless of
readiness.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:21:34 -04:00
dev_agentandClaude Opus 5.5 8e18c0b37c Reject malformed Home minutes and Supply run labels (review H1)
CI / ci (pull_request) Successful in 7m59s
CI / ci (push) Successful in 7m42s
parseHome now fails fast into the query error instead of rendering bad
values: tonight's minutes_total must be a positive whole number or null,
and a ready shoppingList must carry a non-empty label that is the label
of its weekStart.

Task: 5170be5d-4787-4ea8-8530-c19e98e591bc

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:15:12 -04:00
dev_agentandClaude Opus 5.5 3a0459cce3 Build the Home screen (mock 1g) from GET /api/v1/home
CI / ci (push) Successful in 8m7s
CI / ci (pull_request) Successful in 7m47s
Replace the / placeholder with HomePage: the household-local date over
"Tonight's quest", the Recent updates bell with its grape unread dot, the
Tonight card (washed photo, name, "Regular · 40 min" / "Side quest · 30
min", dark Recipe pill to /dinner/:id), the Quick dinner and Cook from what
I have tiles, and the status rows to /discover and the week's Supply run.
With no plan the card is "No quest planned tonight" with "Plan this week";
rows that do not apply are hidden. Loading shows skeletons; a failure
shows an ErrorBanner with Retry.

The offline bootstrap tests now emit their online reset before cleanup:
TanStack's online manager only listens while a query client is mounted,
so the reset was lost and Home's query stayed paused in later tests.

Maestro task 5170be5d-4787-4ea8-8530-c19e98e591bc (Feature 21).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:02:03 -04:00