Public: anyone can read this; the crew can change it.

The /search page speaks the home page's language #9692

Merged opened this

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

Merged

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

opened this

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 use listCard. A small local helper, rowsUnderHeading, draws their rows as <div class="card bare"><ul class="list">. .card.bare is the existing class the pull page already uses. src/web/ui.ts is untouched.
  • Doc: docs/design/areas/search.md says why. No new component class.
  • Test: a new test in test/studio-search.test.ts checks that at least two results lists are card bare lists, that no plain card wraps a ul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plain card.
  • Left alone: the form, filter chips, headings, empty states and the /-/confirm page. The card helper 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

Closes #9689

commented

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 use listCard. A small local helper, rowsUnderHeading, draws their rows as <div class="card bare"><ul class="list">. .card.bare is the existing class the pull page already uses. src/web/ui.ts is untouched.
  • Doc: docs/design/areas/search.md says why. No new component class.
  • Test: a new test in test/studio-search.test.ts checks that at least two results lists are card bare lists, that no plain card wraps a ul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plain card.
  • Left alone: the form, filter chips, headings, empty states and the /-/confirm page. The card helper 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

commented

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.ts the three sections (apps and repositories, issues and pull requests, code) no longer use listCard. A small local helper, rowsUnderHeading, draws their rows as <div class="card bare"><ul class="list">. .card.bare is the existing class the pull page already uses. src/web/ui.ts is untouched.
  • Doc: docs/design/areas/search.md says why. No new component class.
  • Test: a new test in test/studio-search.test.ts checks that at least two results lists are card bare lists, that no plain card wraps a ul.list, and that the section heading is still there. It fails on the old markup, where every list sat in a plain card.
  • Left alone: the form, filter chips, headings, empty states and the /-/confirm page. 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

Approved

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).

commented

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.).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs