diff --git a/templates/index.html b/templates/index.html index 4783a21..f90fbb1 100644 --- a/templates/index.html +++ b/templates/index.html @@ -8437,7 +8437,15 @@ } function updateRealTimePosition() { - const satellites = getSelectedSatellites(); + let satellites = getSelectedSatellites(); + + // Ensure selected pass's satellite is included in the request + if (selectedPass && selectedPass.satellite) { + if (!satellites.includes(selectedPass.satellite)) { + satellites = [selectedPass.satellite, ...satellites]; + } + } + if (satellites.length === 0) return; const lat = parseFloat(document.getElementById('obsLat').value); @@ -8446,7 +8454,7 @@ fetch('/satellite/position', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ lat, lon, satellites }) + body: JSON.stringify({ lat, lon, satellites, includeTrack: true }) }) .then(r => r.json()) .then(data => { diff --git a/templates/satellite_dashboard.html b/templates/satellite_dashboard.html index 55007a8..c516409 100644 --- a/templates/satellite_dashboard.html +++ b/templates/satellite_dashboard.html @@ -1344,7 +1344,17 @@ async function updateRealTimePositions() { const lat = parseFloat(document.getElementById('obsLat').value); const lon = parseFloat(document.getElementById('obsLon').value); - const satColor = satellites[selectedSatellite]?.color || '#00d4ff'; + + // Use satellite from selected pass, or fall back to dropdown selection + let targetSatellite = selectedSatellite; + let satColor = satellites[selectedSatellite]?.color || '#00d4ff'; + + if (selectedPass !== null && passes[selectedPass]) { + const pass = passes[selectedPass]; + // Use the satellite name from the pass (backend accepts names or NORAD IDs) + targetSatellite = pass.satellite; + satColor = pass.color || satColor; + } try { const response = await fetch('/satellite/position', { @@ -1353,7 +1363,7 @@ body: JSON.stringify({ latitude: lat, longitude: lon, - satellites: [selectedSatellite], + satellites: [targetSatellite], includeTrack: true }) });