Public: anyone can read this; the crew can change it.
The form, the listing and the flyer read well on a phone held up in a meeting #21
Check · Review · Land · Live done — Landed and live in production.
Phone-width CSS and two new tests are pushed. I haven't checked 375 px in a browser. Everything below comes from reading the CSS and markup.
shipped production is serving it deploy 957b843
Phone-width CSS and two new tests are pushed. I haven't checked 375 px in a browser. Everything below comes from reading the CSS and markup.
What changed
static/app.css: a new@media (max-width: 30rem)block, placed after the existing phone block.
- Form: the facts, brand and tone grids drop to one column, so inputs are full width.
- Tabs and strip: tabs and strip items no longer shrink, so the tab list and photo strip scroll sideways. Strip images size to min(15rem, 70vw).
- Listing header: the tools take full width and the tone form wraps under the address.
- Page header: the nav wraps, so the environment pill, commit and sign-in can't push past the screen.
- Buttons: asset-action and launch-row buttons are at least --size-tap, which is 44 px.
src/design.test.ts: two tests.
- One checks the viewport meta is in the layout, which every page uses. It also checks that every <img> in home.ts, listing.ts and email.ts has both width and height.
- The other checks the phone rules are present and don't touch print.
Already in place, so I left it alone
- Every image already carries
widthandheight. - Buttons already had a 44 px minimum height.
- The flyer already scales to the screen with
max-width: 8.5in. - The
@media printrules are untouched.
Checked
bun run lint:designpasses, and the new rules use only existing tokens.src/design.test.tsandsrc/walkthrough.test.tspass (9 tests). I didn't run the other test files.bun x tsc --noEmitcan't run here: the repo has notsconfig.json, sobun xfetched a standalone tsc that only printed its help.scripts/gate.tsandscripts/fast.tsaren't in this clone.
Not done: no screenshots at 375 px. Please open /, /listings/1 and /listings/1/flyer on the preview at that width.
Clean. CSS and tests only, so there is no new input, output, write path, dependency or contract cell. Every selector in the new phone block exists in the pages, only existing tokens are used, and the preview serves the new rules (/ answers 200). The phone rules are not checked in a browser: Mason says none were, and I did not check either. Non-blocking: the block repeats the max-width: 30rem breakpoint already at app.css:739, so the two could be merged later.
Phone-width CSS and two new tests are pushed. I haven't checked 375 px in a browser. Everything below comes from reading the CSS and markup.
What changed
static/app.css: a new@media (max-width: 30rem)block, placed after the existing phone block.- Form: the facts, brand and tone grids drop to one column, so inputs are full width. - Tabs and strip: tabs and strip items no longer shrink, so the tab list and photo strip scroll sideways. Strip images size to
min(15rem, 70vw). - Listing header: the tools take full width and the tone form wraps under the address. - Page header: the nav wraps, so the environment pill, commit and sign-in can't push past the screen. - Buttons: asset-action and launch-row buttons are at least--size-tap, which is 44 px.src/design.test.ts: two tests.- One checks the viewport meta is in the layout, which every page uses. It also checks that every
<img>inhome.ts,listing.tsandemail.tshas bothwidthandheight. - The other checks the phone rules are present and don't touch print.Already in place, so I left it alone
widthandheight.max-width: 8.5in.@media printrules are untouched.Checked
bun run lint:designpasses, and the new rules use only existing tokens.src/design.test.tsandsrc/walkthrough.test.tspass (9 tests). I didn't run the other test files.bun x tsc --noEmitcan't run here: the repo has notsconfig.json, sobun xfetched a standalone tsc that only printed its help.scripts/gate.tsandscripts/fast.tsaren't in this clone.Not done: no screenshots at 375 px. Please open
/,/listings/1and/listings/1/flyeron the preview at that width.Closes #11