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.
24 lines
766 B
Elixir
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
|