prop/lib/microwaveprop_web/live
Graham McIntire 725a7e6bda
WeatherMap: forecast-hour timeline + top-right layer description
Two related UI changes driven by the same data:

* Move the selected-layer description out of the sidebar and into a
  dedicated top-right overlay on the map. The sidebar kept the same
  layer buttons but dropped the descriptive text; the new overlay
  shows group + layer name + description in one card. Mobile still
  shows the description in the collapsible panel since it has no
  top-right free real estate.

* Add a forecast-hour timeline bar at the bottom of the map, matching
  the propagation map. WeatherMapLive enumerates ProfilesFile on mount
  (the grid worker has been persisting f00..f18 on disk since
  commit 07ffcf5), pushes data-valid-times for the JS hook to render
  as buttons, and handles a new select_time event by reading the
  per-hour ProfilesFile on demand via Weather.weather_grid_at/2.

weather_grid_at/2 deliberately skips the GridCache write path for
non-latest hours — caching 18 × 92k rows would add ~300 MB per pod.
A ~2 MB ETF decode per scrub is fast enough for a click.

Subscribes to propagation:pipeline so the timeline picks up new
forecast hours live as they land, without waiting for the full chain
to finish.
2026-04-15 13:57:23 -05:00
..
admin live_table polish + status page cleanup 2026-04-12 18:19:41 -05:00
beacon_live Defer beacon coverage estimate until the toggle is flipped on 2026-04-14 17:13:05 -05:00
contact_live Surface HRRR weather details on /path 2026-04-15 11:57:51 -05:00
user_management_live Convert /contacts list to live_table 2026-04-12 17:22:15 -05:00
about_live.ex Note CONUS-only coverage on the about page 2026-04-12 14:31:30 -05:00
algo_live.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
contact_map_live.ex User profiles at /u/:callsign, flexible band input, assorted UX cleanup 2026-04-12 16:13:08 -05:00
map_live.ex Make the map timeline read .ntms files authoritatively 2026-04-14 17:42:30 -05:00
path_live.ex PathLive: live-refresh the forecast when new grid scores land 2026-04-15 13:42:44 -05:00
privacy_live.ex Trim footer and privacy copy 2026-04-09 12:30:10 -05:00
rover_live.ex Remove grid squares toggle from rover planner page 2026-04-10 17:31:23 -05:00
status_live.ex Shrink status page DB stat values so 8-digit counts fit 2026-04-13 15:52:37 -05:00
submit_live.ex Force 24h timestamps and let logged-in owners edit their contacts directly 2026-04-12 15:18:47 -05:00
user_profile_live.ex Cap "Contacts I'm in" at 100 most recent 2026-04-12 17:04:11 -05:00
weather_map_live.ex WeatherMap: forecast-hour timeline + top-right layer description 2026-04-15 13:57:23 -05:00