Rewire the single-coverage show page to mount MultiCoverageMap (the same hook the org map uses) with one coverage in the array, and lift the cnHeat-style overlay panels — LOS/NLOS toggle + height slider on the left, opacity + RSSI filter on the bottom, distance probe on click. Parameters move into a togglable right-side drawer so the map dominates the viewport. Show LiveView gains toggle_params / probe_point / close_probe / set_probe_units handlers and delegates the formatters to CoverageLive.Map. Site is now preloaded so coverages_payload/1 can read site.name without an Ecto.AssociationNotLoaded crash that was silently nuking the data-coverages JSON encode. Also fixes a real bug in coverage_hooks.ts: pngForCoverage was returning before the antenna-marker creation block, leaving the marker code as unreachable dead code — towers never rendered. Moved the marker creation into addCoverageLayer where it belongs and added a no-PNG guard so a missing png_path logs instead of silently failing the L.imageOverlay constructor. |
||
|---|---|---|
| .. | ||
| channels | ||
| components | ||
| controllers | ||
| graphql | ||
| helpers | ||
| live | ||
| plugs | ||
| changelog_parser.ex | ||
| endpoint.ex | ||
| gettext.ex | ||
| gettext_helpers.ex | ||
| graphql_socket.ex | ||
| permissions.ex | ||
| plug_exceptions.ex | ||
| remote_ip.ex | ||
| router.ex | ||
| scoped_resource.ex | ||
| telemetry.ex | ||
| telemetry_filter.ex | ||
| user_auth.ex | ||