prop/assets/js
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
..
types Convert all JavaScript to TypeScript with type annotations 2026-04-11 16:59:28 -05:00
app.ts live_table polish: border color, control layout, row clicks, pagination 2026-04-13 08:38:24 -05:00
beacon_map_hook.ts Defer beacon coverage estimate until the toggle is flipped on 2026-04-14 17:13:05 -05:00
beacons_list_map_hook.ts Beacon list map, profile page polish, nav ordering fix 2026-04-12 16:23:09 -05:00
contact_map_hook.ts Convert all JavaScript to TypeScript with type annotations 2026-04-11 16:59:28 -05:00
contacts_map_hook.ts Serve /contacts/map payload via HTTP endpoint, parallel hydrate 2026-04-12 13:10:51 -05:00
elevation_profile_hook.ts Curved earth surface in elevation profile with ducts following curvature 2026-04-11 17:10:38 -05:00
locate_me_hook.ts Convert all JavaScript to TypeScript with type annotations 2026-04-11 16:59:28 -05:00
maidenhead_grid.ts Add 6-char subsquare grid overlay and fix map edge rendering 2026-04-11 18:08:18 -05:00
propagation_map_hook.ts Pin propagation legend to top-right on desktop too 2026-04-15 10:06:37 -05:00
rover_map_hook.ts Convert all JavaScript to TypeScript with type annotations 2026-04-11 16:59:28 -05:00
weather_map_hook.ts WeatherMap: forecast-hour timeline + top-right layer description 2026-04-15 13:57:23 -05:00