diff --git a/src/rf_mapper/web/app.py b/src/rf_mapper/web/app.py index 5660f05..d3d783e 100644 --- a/src/rf_mapper/web/app.py +++ b/src/rf_mapper/web/app.py @@ -378,6 +378,7 @@ def create_app(config: Config | None = None) -> Flask: def index(): """Main dashboard page""" rf_config = app.config["RF_CONFIG"] + scanner_identity = app.config["SCANNER_IDENTITY"] return render_template( "index.html", lat=app.config["CURRENT_LAT"], @@ -389,6 +390,10 @@ def create_app(config: Config | None = None) -> Flask: "floor_height_m": rf_config.building.floor_height_m, "ground_floor_number": rf_config.building.ground_floor_number, "current_floor": rf_config.building.current_floor + }, + scanner={ + "id": scanner_identity["id"], + "name": scanner_identity["name"] } ) diff --git a/src/rf_mapper/web/static/js/app.js b/src/rf_mapper/web/static/js/app.js index 45c5629..f2c03c4 100644 --- a/src/rf_mapper/web/static/js/app.js +++ b/src/rf_mapper/web/static/js/app.js @@ -939,6 +939,7 @@ function updateMapMarkers() { const lon = parseFloat(document.getElementById('lon-input').value); // Add center marker (this scanner) - distinct star shape + const localScannerName = APP_CONFIG.scanner?.name || APP_CONFIG.scanner?.id || 'Scanner'; const scannerIcon = `
@@ -952,7 +953,7 @@ function updateMapMarkers() { iconSize: [24, 24], iconAnchor: [12, 12] }) - }).addTo(map).bindPopup('📍 This Scanner'); + }).addTo(map).bindPopup(`📍 ${localScannerName}`); markers.push(centerMarker); // Add peer scanner markers (async, won't block) @@ -1843,10 +1844,11 @@ function update3DMarkers() { const groundFloor = buildingConfig.groundFloorNumber || 0; // Add scanner position marker at center (draggable for fine-grained positioning) + const scannerName = APP_CONFIG.scanner?.name || APP_CONFIG.scanner?.id || 'Scanner'; const scannerEl = document.createElement('div'); scannerEl.className = 'marker-3d center draggable'; scannerEl.innerHTML = `
📍
F${scannerFloor}
`; - scannerEl.title = `Your Position - Floor ${scannerFloor} (drag to reposition)`; + scannerEl.title = `${scannerName} - Floor ${scannerFloor} (drag to reposition)`; const scannerOffset = (scannerFloor - groundFloor) * pixelsPerFloor; const scannerMarker = new maplibregl.Marker({ @@ -1856,7 +1858,7 @@ function update3DMarkers() { }) .setLngLat([lon, lat]) .setPopup(new maplibregl.Popup().setHTML(` - 📍 Your Position
+ 📍 ${escapeHtml(scannerName)}
Floor: ${scannerFloor}
Lat: ${lat.toFixed(6)}
Lon: ${lon.toFixed(6)}
diff --git a/src/rf_mapper/web/templates/base.html b/src/rf_mapper/web/templates/base.html index 51a2b59..2189735 100644 --- a/src/rf_mapper/web/templates/base.html +++ b/src/rf_mapper/web/templates/base.html @@ -65,6 +65,10 @@ groundFloorNumber: {{ building.ground_floor_number | default(0) }}, currentFloor: {{ building.current_floor | default(0) }} }, + scanner: { + id: {{ scanner.id | default('') | tojson }}, + name: {{ scanner.name | default('') | tojson }} + }, maplibre: { style: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json' }