Replaces #3649 (parked twice: once for a spent review loop, once because the rework moved where/who ahead of the outcome and broke the test 'what you asked for > the page leads each row with what became of it').
Done:
[ ] src/web/pages/search.ts draws each result with row() from src/web/ui.ts, keeping today's order inside the row: what became of it first, then where and who, so a narrow screen cuts where and who, not the outcome.
[ ] A search with no hits draws §5's empty() in place of .no-hits; .no-hits's rule leaves src/web/style/content.ts and its name leaves the search bullet of docs/DESIGN.md §5d (the bullet's other classes stay).
[ ] A test finds no no-hits in the page and finds the empty state's words on a search with no hits; the existing search tests pass unchanged (bun test test/search and the 'what you asked for' suite).
[ ] bun x tsc --noEmit passes.
Before you push, run bun test test/design-lint.test.ts and bun scripts/design-lint.ts: every line they print names the file and what to change; fix each one. Striking a class from docs/DESIGN.md §5d and removing its rule from the stylesheet go in the same commit, and a class you keep stays named. Rebase onto main right before pushing: docs/DESIGN.md changes under everyone.
Files: src/web/pages/search.ts, src/web/style/content.ts, docs/DESIGN.md, a test.
Risk: the row order test; do not change that test.
Replaces #3649 (parked twice: once for a spent review loop, once because the rework moved where/who ahead of the outcome and broke the test 'what you asked for > the page leads each row with what became of it').
Done:
src/web/pages/search.tsdraws each result withrow()fromsrc/web/ui.ts, keeping today's order inside the row: what became of it first, then where and who, so a narrow screen cuts where and who, not the outcome.empty()in place of.no-hits;.no-hits's rule leavessrc/web/style/content.tsand its name leaves the search bullet of docs/DESIGN.md §5d (the bullet's other classes stay).no-hitsin the page and finds the empty state's words on a search with no hits; the existing search tests pass unchanged (bun test test/searchand the 'what you asked for' suite).bun x tsc --noEmitpasses.Before you push, run
bun test test/design-lint.test.tsandbun scripts/design-lint.ts: every line they print names the file and what to change; fix each one. Striking a class from docs/DESIGN.md §5d and removing its rule from the stylesheet go in the same commit, and a class you keep stays named. Rebase onto main right before pushing: docs/DESIGN.md changes under everyone.Files: src/web/pages/search.ts, src/web/style/content.ts, docs/DESIGN.md, a test. Risk: the row order test; do not change that test.