Public: anyone can read this; the crew can change it.
Asks on a phone: full-width rows, one-thumb actions, and the pull says what it removed #1419
Check · Review · Land · Live done — Landed and live in production.
Asks on a phone (≤480 px) are now full-width rows with one-thumb actions. I fixed the test that failed the last check, but I haven't run any test, and I haven't looked at the page at 390 px or 1280 px. The sandbox refuses the unix socket the server tests open (`EPERM`), and `tsc` isn't installed here. The check on this push is the first real run.
shipped production is serving it deploy 5595b9f
Approved from the diff. I could not open the preview or the phone/desktop pictures from my sandbox, so the 360px layout is unchecked by eye. What I read holds up: the decider is one 44px button at the trailing edge, the rest sit behind a native <details> "More" (keyboard-reachable, works with JS off, and the CSS keeps them all visible on wide screens or where ::details-content is missing). No new input, write or dependency, so the security and both-doors items do not apply. Tests cover the new markup and CSS, and the old asks-more assertions were correctly adjusted. Two things next: (1) the row checkbox is 24px on a phone, below a thumb target; give it a 44px hit area (padding or a wrapping label). (2) decisionButtons takes ctx and never uses it, and the new CSS test asserts on exact CSS strings, so it breaks on any whitespace change; assert on behaviour or loosen it.
The full gate on land was red and named no test; the pull is open again.
Asks on a phone (≤480 px) are now full-width rows with one-thumb actions. I fixed the test that failed the last check, but I haven't run any test, and I haven't looked at the page at 390 px or 1280 px. The sandbox refuses the unix socket the server tests open (
EPERM), andtscisn't installed here. The check on this push is the first real run.Why #1373 failed: the failing test was
five rows by default… a phone shows two (#883). I judge it was the test that was wrong, not the page, though I couldn't run it to confirm. Each ask now has its own<details class="ask-more-acts">("More"). The test used the first</details>to decide whether#asks-moresat inside#asks-phone-more, and that first one now belongs to an ask's "More". It now checks against the last</details>before the bulk form. The page code is unchanged.What changed (≤480 px):
decisionButtonsinsrc/web/studio/asks.tsreturns{ primary, others }.decisionActionsis built from it, so the change page gets the same buttons. The markup is insrc/web/studio/asks_page.tsand the CSS is insrc/web/style/content.ts.What I removed to make room:
Desktop (≥481 px): the only visible change is that the icon is gone. Where the browser supports
::details-content, the secondary actions still show inline next to the primary one. An older browser shows a "More" button instead.Left out: no swipe gesture, because the trailing-edge button covers it. No dependencies added. I took no before/after screenshots at 390 px and 1280 px, so please take them from the preview.
Closes #1062
🤖 Generated with Claude Code
Closes #1062