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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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.

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-more sat 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):

  • Full width: each ask loses its card box, border, radius and background, and uses the page's 16 px gutter.
  • Title and repo: the kind and repo share the first line ("Ready to ship · owner/repo"), and the title wraps below it instead of truncating.
  • Actions: the deciding action (Ship, Tell them, Answer or Settings) sits at the trailing edge, at least 44 px tall and 96 px wide. The other actions wait behind one "More" tap.
  • Code: decisionButtons in src/web/studio/asks.ts returns { primary, others }. decisionActions is built from it, so the change page gets the same buttons. The markup is in src/web/studio/asks_page.ts and the CSS is in src/web/style/content.ts.

What I removed to make room:

  • the per-row icon column;
  • the "Green, waiting for your look" sentence on a phone, which is hidden and replaced by the kind label (the "If nobody acts…" line stays);
  • the nested card padding and the card margin inside the page margin;
  • the card head's grey band and the line under it;
  • the secondary buttons inline on the row.

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

Approved

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.

commented

The full gate on land was red and named no test; the pull is open again.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs