Components
Directory management
Curate public local business information through a dedicated operational list.
On this page
Purpose and placement
Curate public local business information through a dedicated operational list.
Anatomy
| Part | Behavior |
|---|---|
| Record identity | Business name and public context. |
| Review state | Pending, approved or rejected. |
| Operator controls | Search, fetch and review actions where the source supports them. |
Configuration and contract
| Input or decision | Implementation |
|---|---|
| Source route | /admin/businesses. |
| Content | Public organization information must be separated from private operator/contact data. |
| Fixture | Fictional businesses with reserved example.org URLs and no customer emails. |
States and feedback
- Synthetic populated list and approval states.
- Data-fetch/provider actions are excluded.
Usage rules
- Keep a business review action separate from a story publication action.
- Verify source provenance before exposing a directory fact.
- Avoid embedding private customer contacts in public examples.
Accessibility and verification
Check labeled search/fetch controls and descriptive links. Each review outcome needs text, not just badge color.
Source references
| File | Responsibility |
|---|---|
| app/admin/(shell)/businesses/page.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/admin/fetch-business-candidates-form.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