Radar-Timeline: Slider-Scrubbing gefixt + Breite/Höhe an Status-Pill

- Scrub-Bug: _radarPause() setzte slider.value zurück, BEVOR der gezogene Wert
  gelesen wurde → sprang immer auf 'jetzt'. Jetzt Wert zuerst lesen. Scrubben
  stoppt Play + zeigt den Frame der Position (verifiziert: Klick 20%→Frame 2,
  Setter→5→Frame 5).
- Breite per JS an .map-statusbar angeglichen (gleiche linke + rechte Kante),
  Höhe/Optik an die Pill (kleinerer Play-Button, flacher).
This commit is contained in:
rene 2026-06-05 20:39:41 +02:00
parent ea2cdd4f89
commit ac187dc740
7 changed files with 31 additions and 24 deletions

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '1217'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '1219'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator)
window.APP_VERSION = APP_VERSION;

View file

@ -621,12 +621,16 @@ window.Page_map = (() => {
document.getElementById('central-map')?.appendChild(el);
el.querySelector('#rdr-play').addEventListener('click', _toggleRadarPlay);
el.querySelector('#rdr-slider').addEventListener('input', e => {
const idx = parseInt(e.target.value, 10); // ZUERST lesen: _radarPause() setzt slider.value zurück
_radarPause();
_showRadarFrame(parseInt(e.target.value, 10));
_showRadarFrame(idx);
});
} else {
el.querySelector('#rdr-slider').max = _radarFrames.length - 1;
}
// Breite an die Status-Pill angleichen → gleiche linke + rechte Kante.
const pill = document.querySelector('.map-statusbar');
if (pill && pill.offsetWidth > 60) el.style.width = pill.offsetWidth + 'px';
_updateRadarTimelineUI();
}