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
})
});