diff --git a/frontend/src/components/MaplibreViewer.tsx b/frontend/src/components/MaplibreViewer.tsx index a0dc81a..ae89d35 100644 --- a/frontend/src/components/MaplibreViewer.tsx +++ b/frontend/src/components/MaplibreViewer.tsx @@ -19,7 +19,7 @@ import { svgTanker, svgRecon, svgPlanePink, svgPlaneAlertRed, svgPlaneDarkBlue, svgPlaneWhiteAlert, svgHeliPink, svgHeliAlertRed, svgHeliDarkBlue, svgHeliBlue, svgHeliLime, svgHeliWhiteAlert, svgPlaneBlack, svgHeliBlack, - svgDrone, svgDataCenter, svgShipGray, svgShipRed, svgShipYellow, + svgDrone, svgDataCenter, svgRadioTower, svgShipGray, svgShipRed, svgShipYellow, svgShipBlue, svgShipWhite, svgCarrier, svgCctv, svgWarning, svgThreat, svgTriangleYellow, svgTriangleRed, svgFireYellow, svgFireOrange, svgFireRed, svgFireDarkRed, @@ -423,6 +423,7 @@ const MaplibreViewer = ({ data, activeLayers, onEntityClick, flyToLocation, sele // Deferred icons — for off-by-default layers and rare variants // Loaded in next frame to avoid blocking initial map render setTimeout(() => { + loadImg('svgRadioTower', svgRadioTower); loadImg('svgPlanePink', svgPlanePink); loadImg('svgPlaneAlertRed', svgPlaneAlertRed); loadImg('svgPlaneDarkBlue', svgPlaneDarkBlue); @@ -1763,38 +1764,37 @@ const MaplibreViewer = ({ data, activeLayers, onEntityClick, flyToLocation, sele )} - {/* KiwiSDR Receivers — clustered amber dots */} + {/* KiwiSDR Receivers — radio tower icons */} {kiwisdrGeoJSON && ( + {/* Cluster glow ring */} + {/* Individual tower icons */} diff --git a/frontend/src/components/map/icons/AircraftIcons.ts b/frontend/src/components/map/icons/AircraftIcons.ts index fccba06..7d47990 100644 --- a/frontend/src/components/map/icons/AircraftIcons.ts +++ b/frontend/src/components/map/icons/AircraftIcons.ts @@ -33,6 +33,7 @@ export const svgShipBlue = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; export const svgCarrier = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; export const svgCctv = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; +export const svgRadioTower = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; export const svgWarning = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; export const svgThreat = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`; export const svgTriangleYellow = `data:image/svg+xml;utf8,${encodeURIComponent(``)}`;