srv/poe_manager/templates/logs.html aktualisiert

This commit is contained in:
2025-10-08 18:46:26 +02:00
parent 207eed1f00
commit 9c25d532ec

View File

@@ -3,6 +3,11 @@
<h2>Live Log</h2> <h2>Live Log</h2>
<!-- Refresh-Button unter der Überschrift -->
<button id="refresh-btn" class="btn btn-primary mb-3">
🔄 Logs aktualisieren
</button>
<div id="log-container"> <div id="log-container">
<div id="log-box"></div> <div id="log-box"></div>
<div id="refresh-timer"> <div id="refresh-timer">
@@ -11,36 +16,49 @@
</div> </div>
<script> <script>
const intervalMinutes = {{ interval | int }}; document.addEventListener("DOMContentLoaded", () => {
const intervalMilliseconds = intervalMinutes * 60 * 1000; // --- Seitentitel setzen ---
let lastUpdateTime = Date.now(); const baseTitle = document.title.split(" - ")[0];
document.title = baseTitle + " - Live Log";
function fetchLog() { // --- Intervallwerte ---
fetch("{{ url_for('get_log') }}") const intervalMinutes = {{ interval | int }};
.then(response => response.text()) const intervalMilliseconds = intervalMinutes * 60 * 1000;
.then(data => { let lastUpdateTime = Date.now();
const box = document.getElementById("log-box");
const filteredLines = data
.split("\n")
.filter(line => !line.includes("ist erreichbar!"))
.join("\n");
box.innerText = filteredLines;
box.scrollTop = box.scrollHeight;
lastUpdateTime = Date.now();
})
.catch(err => console.error("Fehler beim Laden der Logs:", err));
}
function updateTimer() { // --- Log laden ---
const now = Date.now(); function fetchLog() {
const remainingMs = intervalMilliseconds - (now - lastUpdateTime); fetch("{{ url_for('get_log') }}")
const remainingSec = Math.max(Math.ceil(remainingMs / 1000), 0); .then(response => response.text())
document.getElementById("timer").innerText = remainingSec; .then(data => {
} const box = document.getElementById("log-box");
const filteredLines = data
.split("\n")
.filter(line => !line.includes("ist erreichbar!"))
.join("\n");
box.innerText = filteredLines;
box.scrollTop = box.scrollHeight;
lastUpdateTime = Date.now();
})
.catch(err => console.error("Fehler beim Laden der Logs:", err));
}
setInterval(updateTimer, 1000); // --- Timer aktualisieren ---
fetchLog(); function updateTimer() {
setInterval(fetchLog, intervalMilliseconds); const now = Date.now();
const remainingMs = intervalMilliseconds - (now - lastUpdateTime);
const remainingSec = Math.max(Math.ceil(remainingMs / 1000), 0);
document.getElementById("timer").innerText = remainingSec;
}
// --- Button klick ---
document.getElementById("refresh-btn").addEventListener("click", fetchLog);
// --- Initial starten ---
setInterval(updateTimer, 1000);
fetchLog();
setInterval(fetchLog, intervalMilliseconds);
});
</script> </script>
{% endblock %} {% endblock %}