Skip to content

feat: add reference screen listing bands #44

Description

@pskillen

Problem

Band labels, frequency ranges, and colour mappings are already documented in docs/reference/bands.md and implemented in src/lib/bands.ts for channel list/detail pills. Operators have no in-app way to browse that reference — they must read the repo docs or infer colours from channel rows.

Intended outcome

Add a Reference section to the app with a Band plan page listing all recognised UK amateur bands.

Navigation

  • Add a Reference link at the bottom of the sidebar, near Settings (same flex-spacer pattern in App.tsx).
  • Reference links to a landing/index page, initially just a Band Plan child.
  • Band plan route shows the full band table.

Band plan page content

For each band row, display:

  • Band label (e.g. 2 m, 70 cm)
  • Frequency range (min–max MHz)
  • Colour swatch / pill using the same Mantine colour mapping as channel UI (UK_BANDS in src/lib/bands.ts)
  • Notes column where relevant (e.g. Full-only, NoV extensions, licence conditions)

Reuse the canonical data from UK_BANDS — do not duplicate ranges or colours in the page component.

Include a short disclaimer matching the doc: for programming convenience only; not authoritative for on-air operation.

Suggested routes

  • /reference — Reference index
  • /reference/band-plan — Band plan table

Affected

  • src/App.tsx — sidebar nav + routes
  • New route(s) under src/routes/reference/
  • Optionally a small reusable BandPlanTable component (add sidecar .md if extracted)

Notes / dependencies

  • Builds on existing docs/reference/bands.md and src/lib/bands.ts from the channels CRUD work.
  • Band pills on channel list/detail are separate (feat: CRUD channels #11); this issue is the standalone reference view only.
  • App-only; no export/import changes.

Out of scope

  • Editing band definitions in the UI (source of truth stays in code + docs/reference/bands.md).
  • Non-UK band plans.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions