Components
Search results
Show understandable destinations and reveal additional results without changing the meaning of the query.
On this page
Purpose and placement
Show understandable destinations and reveal additional results without changing the meaning of the query.
Anatomy
| Part | Behavior |
|---|---|
| Query context | GET query on the public search route. |
| Result | Type/id identity, title, URL and contextual metadata. |
| Reveal action | Adds a local batch of supplied results. |
Configuration and contract
| Input or decision | Implementation |
|---|---|
| SearchResultsList | results array; initialCount defaults to 24; batchSize defaults to 24. |
| Identity | Result keys combine type and id. |
| Data boundary | Search service supplies results; the component does not define search ranking. |
States and feedback
- Results available.
- No results with explicit empty feedback.
- Additional-results control while undisplayed results remain.
Usage rules
- Keep the submitted query in the interface.
- Do not call local result reveal a new server search.
- Use type metadata when a mixed result set contains similar titles.
Accessibility and verification
Check a labeled search input, clear submit action and predictable focus after reveal. Added results and count changes may need announcements; do not assume they exist from a static capture.
Source references
| File | Responsibility |
|---|---|
| components/search-results-list.tsx | Audited Townwell implementation; use this file when extending this interface. |
| app/(public)/search/page.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/search-page-focus.tsx | Audited Townwell implementation; use this file when extending this interface. |
Examples from the app
Actual Boise Today and Townwell UI with synthetic editorial, business, review, media metadata and analytics. Existing Boise imagery; no live data changes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-07 · Revision ce8bc72b96da · Documentation v0.1