Components
Publication shell
Orient readers with Boise identity, section navigation and a consistent editorial frame.
On this page
Purpose and placement
Orient readers with Boise identity, section navigation and a consistent editorial frame.
Anatomy
| Part | Behavior |
|---|---|
| Masthead | Publication logo, available weather context and reader actions. |
| Section navigation | Named destinations and query-based search. |
| Footer | Publication context, newsletter when available and theme choice. |
Configuration and contract
| Input or decision | Implementation |
|---|---|
| SiteShell | children, weather or null, activeGiveawayHref or null. |
| Tenant | Resolve branding through sites/boise/config.ts; do not hard-code another city. |
| Newsletter availability | Capability determines whether signup is present. |
States and feedback
- Desktop masthead and narrow-screen navigation.
- Missing weather/giveaway context should not create fabricated availability.
- Newsletter modal is separate from navigating to a page.
Usage rules
- Retain recognizable publication identity while giving the content the largest visual share.
- Do not add unfinished platform features to public navigation merely because source files exist.
Accessibility and verification
Navigation links need meaningful names and current-location context. Source newsletter dialogs implement Escape and body scroll locking; focus trap and return require explicit verification.
Source references
| File | Responsibility |
|---|---|
| components/site-shell.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/site-nav-bars.tsx | Audited Townwell implementation; use this file when extending this interface. |
| sites/boise/config.ts | 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