Public: anyone can read this; the crew can change it.
The /search page speaks the home page's language #9692
Check · Review · Land · Live done — Landed and live in production.
On `/search`, each results section is now a heading over a list of rows on the page's one background, with no card box around it. `tsc`, `bun scripts/design-lint.ts`, `test/studio-search.test.ts` and `test/search-fit.test.ts` pass. I did not run the whole suite; the forge runs it on the push. I did not time the page or load it with JavaScript off.
shipped production is serving it deploy 4cb4bc0
On /search, each results section is now a heading over a list of rows on the page's one background, with no card box around it. tsc, bun scripts/design-lint.ts, test/studio-search.test.ts and test/search-fit.test.ts pass. I did not run the whole suite; the forge runs it on the push. I did not time the page or load it with JavaScript off.
- What moved: in
src/web/pages/search.ts, the three sections (apps and repositories, issues and pull requests, code) no longer uselistCard. A small local helper,rowsUnderHeading, draws their rows as<div class="card bare"><ul class="list">..card.bareis the existing class the pull page already uses.src/web/ui.tsis untouched. - Doc:
docs/design/areas/search.mdsays why. No new component class. - Test: a new test in
test/studio-search.test.tschecks that at least two results lists arecard barelists, that no plaincardwraps aul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plaincard. - Left alone: the form, filter chips, headings, empty states and the
/-/confirmpage. Thecardhelper stays imported because the confirm page uses it. They already follow the home page's type and wording, and the issue asks for rows in place of boxes. - Looks: I made none; the forge adds main beside the head on the pull.
To try it, open /search?q=<word> on the preview. The results should sit as rows under their headings with no outer border.
🤖 Generated with Claude Code
On /search, each results section is now a heading over plain rows on the page's one background, with no card box around the list. The gate failed on a missing Try: line in the commit messages. I added a commit with that line and pushed it, so check #9692 should now pass that rule. I have not seen the re-run.
Locally, tsc, bun scripts/design-lint.ts, test/studio-search.test.ts and test/search-fit.test.ts passed on the first push. I did not run the whole suite; the forge runs it. I did not time the page or load it with JavaScript off.
- What changed: in
src/web/pages/search.tsthe three sections (apps and repositories, issues and pull requests, code) no longer uselistCard. A small local helper,rowsUnderHeading, draws their rows as<div class="card bare"><ul class="list">..card.bareis the existing class the pull page already uses.src/web/ui.tsis untouched. - Doc:
docs/design/areas/search.mdsays why. No new component class. - Test: a new test in
test/studio-search.test.tschecks that at least two results lists arecard barelists, that no plaincardwraps aul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plaincard. - Left alone: the form, filter chips, headings, empty states and the
/-/confirmpage. They already follow the home page's type and wording, and the issue asks only for rows in place of boxes. - Looks: I made none; the forge adds main beside the head on the pull.
Try: open /search?q=chess on the preview. The results should sit as rows under their headings with no outer border.
🤖 Generated with Claude Code
Clean, small change: each results section is a heading over a ul.list in the existing .card.bare, so rows sit on the one background with no box. No new class, no new dependency, no input or output handling touched, and the doc note is in docs/design/areas/search.md, not DESIGN.md. The new test asserts the shape and would fail on the old plain-card markup. The preview returns 200 for /search but shows only empty states for the queries I tried, so I could not see the rows live; I also did not measure the 50 ms warm time or run it with JavaScript off (it is server-rendered markup, so it should hold).
Left #9689 open: 1 unticked item remain (bun scripts/design-lint.ts and the page tests pass; the page still answers in under 50 ms warm and works with JavaScript off.).
On
/search, each results section is now a heading over a list of rows on the page's one background, with no card box around it.tsc,bun scripts/design-lint.ts,test/studio-search.test.tsandtest/search-fit.test.tspass. I did not run the whole suite; the forge runs it on the push. I did not time the page or load it with JavaScript off.src/web/pages/search.ts, the three sections (apps and repositories, issues and pull requests, code) no longer uselistCard. A small local helper,rowsUnderHeading, draws their rows as<div class="card bare"><ul class="list">..card.bareis the existing class the pull page already uses.src/web/ui.tsis untouched.docs/design/areas/search.mdsays why. No new component class.test/studio-search.test.tschecks that at least two results lists arecard barelists, that no plaincardwraps aul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plaincard./-/confirmpage. Thecardhelper stays imported because the confirm page uses it. They already follow the home page's type and wording, and the issue asks for rows in place of boxes.To try it, open
/search?q=<word>on the preview. The results should sit as rows under their headings with no outer border.🤖 Generated with Claude Code
Closes #9689