diff --git a/srv/poe_manager/templates/index.html b/srv/poe_manager/templates/index.html index af836d4..bb8c856 100644 --- a/srv/poe_manager/templates/index.html +++ b/srv/poe_manager/templates/index.html @@ -34,7 +34,7 @@ document.addEventListener("DOMContentLoaded", () => { const intervalMinutes = {{ interval | int }}; const intervalMilliseconds = intervalMinutes * 60 * 1000; - let lastUpdateTime = Date.now(); // Startpunkt beim Laden der Seite + let lastUpdateTime = Date.now(); // Standard: jetzt let reloadCountdown = null; let reloadTriggered = false; @@ -47,12 +47,14 @@ document.addEventListener("DOMContentLoaded", () => { // Haupt-Timer läuft const remainingSec = Math.ceil((intervalMilliseconds - elapsed) / 1000); timerElem.innerText = `Nächste Prüfung in ${remainingSec} Sekunden`; + timerElem.classList.remove("reload"); } else { // Haupt-Timer abgelaufen → Reload-Timer starten - if (reloadCountdown === null) reloadCountdown = 10; // 10 Sekunden Countdown + if (reloadCountdown === null) reloadCountdown = 10; if (!reloadTriggered) { timerElem.innerText = `Aktualisieren der Seite in ${reloadCountdown} Sekunden`; + timerElem.classList.add("reload"); reloadCountdown--; if (reloadCountdown < 0) { @@ -63,7 +65,6 @@ document.addEventListener("DOMContentLoaded", () => { } } - // Initiale Synchronisierung mit letzter Log-Zeit optional function fetchLastLog() { fetch("{{ url_for('get_log') }}") .then(response => response.text()) @@ -81,9 +82,12 @@ document.addEventListener("DOMContentLoaded", () => { const match = firstLine.match(/^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/); if (match) { const logTime = new Date(match[1]).getTime(); - // Nur Offset setzen, damit Haupt-Timer beim Laden nicht sofort abläuft - const offset = Math.min(Date.now() - logTime, intervalMilliseconds); - lastUpdateTime = Date.now() - offset; + // Wenn Log älter als Intervall → Timer jetzt starten + if (Date.now() - logTime < intervalMilliseconds) { + lastUpdateTime = logTime; + } else { + lastUpdateTime = Date.now(); + } } } })