Open the Supply run from the Plan and keep refused toggles shown (Feature 17)
CI / ci (push) Successful in 5m1s
CI / ci (pull_request) Successful in 4m56s

Address review findings on the Supply run screen:

- The Plan's Shopping list action is now a link to
  /plan/shopping?week=<the week shown>, an outline action from tablet up
  and a grape link under the Draft board on mobile. It reads
  "Shopping list · N" with the count still to buy once the week has a
  Supply run, and plain "Shopping list" until then; the screen offers to
  make the list. The "arrives once the Supply run is built" tooltip is
  gone.
- The kicker is "Supply run · Oct 5 – 11", the week's dates from
  weekLabel, as in mocks 1l, 2b and 2f.
- A refused toggle stays shown until a later toggle of its item
  supersedes it, such as its Retry; a later toggle of another item
  succeeding no longer hides it. Toggles are kept (gcTime Infinity) so a
  failure is not collected unseen, and a settled toggle removes the
  earlier toggles of its item.
- A toggle refused with 409 archived invalidates the Supply run, which is
  read again and renders read-only with the Archived tag; its failure is
  shown without Retry.

Maestro task 40cc2de5-6628-4b32-a491-ab8e02911d88.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 08:49:29 -04:00
co-authored by Claude Opus 5.5
parent 23a1bc0312
commit 0c534c5249
6 changed files with 241 additions and 43 deletions
+17 -2
View File
@@ -258,8 +258,8 @@
color: var(--color-neutral-700);
}
/* An action with nothing behind it yet (the shopping list until Feature
17): it keeps focus, so hovering, tapping or focusing it shows the
/* An action with nothing behind it yet (Send to Google Chat until Feature
19): it keeps focus, so hovering, tapping or focusing it shows the
tooltip. */
.unavailable {
position: relative;
@@ -414,6 +414,21 @@
text-align: center;
}
/* The way to the week's Supply run under the Draft board on mobile. */
.shoppingLink {
display: inline-flex;
align-self: center;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 44px;
font-family: var(--font-body);
font-size: 14px;
font-weight: 700;
color: var(--color-accent-700);
text-decoration: none;
}
/* A push failure's way to the Google Calendar settings. */
.settingsLink {
color: inherit;