prop/lib/microwaveprop/propagation/band_config.ex
Graham McIntire 5a0113aac2
Add Leaflet map integration with propagation score display
Vendor Leaflet 1.9.4 (JS, CSS, marker images) and wire it into
the esbuild/Tailwind asset pipeline. Create MapLive with band
selector buttons, auto-refresh, and a colocated JS hook that
renders propagation scores as color-coded circle markers with a
legend. Stub Propagation context and BandConfig modules provide
the data interface for the scoring pipeline.

Add nav bar with links to Map, QSOs, and Submit pages.
2026-03-30 17:11:00 -05:00

24 lines
766 B
Elixir

defmodule Microwaveprop.Propagation.BandConfig do
@moduledoc """
Band configuration for microwave propagation scoring.
Defines frequency bands and their display labels for the propagation map.
"""
@bands [
%{freq_mhz: 1_296, label: "1296 MHz"},
%{freq_mhz: 2_304, label: "2304 MHz"},
%{freq_mhz: 3_456, label: "3456 MHz"},
%{freq_mhz: 5_760, label: "5760 MHz"},
%{freq_mhz: 10_000, label: "10 GHz"},
%{freq_mhz: 24_000, label: "24 GHz"},
%{freq_mhz: 47_000, label: "47 GHz"},
%{freq_mhz: 75_000, label: "75 GHz"}
]
@doc """
Returns all band configurations as a list of maps with `:freq_mhz` and `:label` keys.
"""
@spec all_bands() :: [%{freq_mhz: integer(), label: String.t()}]
def all_bands, do: @bands
end