From deef4235cbe51e539099f83a6f67fd28467558d3 Mon Sep 17 00:00:00 2001 From: ISA Date: Sun, 29 Sep 2024 12:00:27 +0200 Subject: [PATCH] =?UTF-8?q?baugruppentr=C3=A4gger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/dashboard/page.jsx | 137 ++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 62 deletions(-) diff --git a/app/dashboard/page.jsx b/app/dashboard/page.jsx index 6ff0ee0..9a7d1a5 100644 --- a/app/dashboard/page.jsx +++ b/app/dashboard/page.jsx @@ -13,6 +13,7 @@ import { Icon } from "@iconify/react"; function Dashboard() { const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL; const [last20Messages, setLast20Messages] = useState([]); + const [kueVersion, setKueVersion] = useState([]); const [ip, setIp] = useState(""); const [subnet, setSubnet] = useState(""); const [gateway, setGateway] = useState(""); @@ -32,6 +33,14 @@ function Dashboard() { console.error("Konnte last20Messages nicht finden."); setError("Konnte last20Messages nicht finden."); } + + // Hier holen wir die kueVersion und konvertieren sie in ein Array + if (window.kueVersion) { + const versionArray = window.kueVersion.split(",").map(Number); // Wandelt die String-Array in ein Array um + setKueVersion(versionArray); + } else { + console.error("Konnte kueVersion nicht finden."); + } setLoading(false); }) .catch((error) => { @@ -40,6 +49,55 @@ function Dashboard() { setLoading(false); }); }, [apiUrl]); + useEffect(() => { + loadWindowVariables(apiUrl) + .then(() => { + if (window.kueVersion) { + const versionArray = window.kueVersion.split(",").map(Number); + setKueVersion(versionArray); + } else { + console.error("Konnte kueVersion nicht finden."); + setError("Konnte kueVersion nicht finden."); + } + setLoading(false); + }) + .catch((error) => { + console.error("Fehler beim Laden des Skripts:", error); + setError(error); + setLoading(false); + }); + }, [apiUrl]); + const renderBaugruppentraeger = () => { + const baugruppen = []; + + // Es gibt 4 Baugruppenträger, jeder mit 8 Slots + for (let i = 0; i < 4; i++) { + const slots = kueVersion.slice(i * 8, (i + 1) * 8); + + baugruppen.push( +
+

Baugruppenträger {i + 1}

+
+ {slots.map((version, index) => { + const slotNumber = i * 8 + index + 1; + return version !== 0 ? ( + + ) : ( +
+ Leer +
+ ); + })} +
+
+ ); + } + + return baugruppen; + }; const parseMessages = (messages) => { messages = messages @@ -131,70 +189,25 @@ function Dashboard() { {/* Sidebar mit Informationen */} -
- {/* Versionsinformationen */} -
-

- Versionsinformationen -

-

- Applikationsversion: 5.1.1.8 - C-24-KA -

-

- Webserverversion: 5.3.4.1 -

+
+
+ +

+ Baugruppenträger Übersicht +

- {/* Beispiel für Geräteanzeige */} -
-
- - - -
-
-
- - - - - - - - -
-
- - - - - - - - -
-
- - - - - - - - -
-
- - - - - - - - -
-
+
+ {loading ? ( +

Lädt...

+ ) : error ? ( +

{error}

+ ) : ( + renderBaugruppentraeger() + )}