diff --git a/templates/index.html b/templates/index.html
index 0138f6f..0421d95 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -61,20 +61,25 @@
📍 Nodes
{% for node in nodes %}
-
-
-
{{ node.name }}
-
+
+
+
+ {{ node.ip }}
+
+
+
+
+ {{ node.status }}
+
+
-
{{ node.ip }}
-
-
- {{ node.status }}
-
-
-
{% endfor %}
@@ -221,6 +226,38 @@
alert("Alle Felder müssen ausgefüllt werden.");
}
};
+
+ window.refreshNodeStatus = async function(nodeId) {
+ const badge = document.getElementById(`badge-${nodeId}`);
+ const led = document.getElementById(`led-${nodeId}`);
+
+ // Visuelles Feedback: Badge ausgrauen während der Suche
+ badge.innerText = "Prüfe...";
+ badge.classList.add("animate-pulse");
+
+ try {
+ const response = await fetch(`/refresh_status/${nodeId}`);
+ const data = await response.json();
+
+ // UI aktualisieren
+ badge.innerText = data.status;
+ badge.classList.remove("animate-pulse");
+
+ if (data.status === "Docker Aktiv") {
+ led.className = "h-2 w-2 rounded-full bg-blue-500 shadow-[0_0_8px_#3b82f6]";
+ badge.classList.add("text-blue-400");
+ } else if (data.status === "Offline/Fehler") {
+ led.className = "h-2 w-2 rounded-full bg-red-600";
+ badge.classList.add("text-red-400");
+ } else {
+ led.className = "h-2 w-2 rounded-full bg-yellow-500";
+ badge.classList.remove("text-blue-400");
+ }
+ } catch (err) {
+ console.error("Fehler beim Refresh:", err);
+ badge.innerText = "Fehler";
+ }
+ };
});