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.
28 lines
871 B
Elixir
28 lines
871 B
Elixir
defmodule Microwaveprop.Propagation do
|
|
@moduledoc """
|
|
Context module for propagation scoring and forecasting.
|
|
|
|
Provides functions to retrieve propagation scores for display on the map.
|
|
Score computation and grid workers will be implemented in subsequent tasks.
|
|
"""
|
|
|
|
@doc """
|
|
Returns the latest propagation scores for the given band frequency in MHz.
|
|
|
|
Each score is a map with `:lat`, `:lon`, and `:score` keys.
|
|
Returns an empty list until the scoring pipeline is operational.
|
|
"""
|
|
@spec latest_scores(integer()) :: [%{lat: float(), lon: float(), score: number()}]
|
|
def latest_scores(_band_freq_mhz) do
|
|
[]
|
|
end
|
|
|
|
@doc """
|
|
Returns the valid time of the most recent propagation score computation,
|
|
or nil if no scores have been computed yet.
|
|
"""
|
|
@spec latest_valid_time() :: DateTime.t() | nil
|
|
def latest_valid_time do
|
|
nil
|
|
end
|
|
end
|