diff --git a/.env.local b/.env.local index fa38c4b..6221d42 100644 --- a/.env.local +++ b/.env.local @@ -1,4 +1,4 @@ #Next.js Webserver -#NEXT_PUBLIC_API_BASE_URL=http://localhost:3000 +NEXT_PUBLIC_API_BASE_URL=http://localhost:3000 #CPL Webserver -NEXT_PUBLIC_API_BASE_URL=https://10.10.0.118:443 +#NEXT_PUBLIC_API_BASE_URL=https://10.10.0.118:443 diff --git a/app/dashboard/page.jsx b/app/dashboard/page.jsx index dcbdb5e..7634d03 100644 --- a/app/dashboard/page.jsx +++ b/app/dashboard/page.jsx @@ -21,6 +21,7 @@ function Dashboard() { const [gateway, setGateway] = useState(""); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); + const [kueCableBreak, setKueCableBreak] = useState([]); useEffect(() => { loadWindowVariables(apiUrl) @@ -43,6 +44,33 @@ function Dashboard() { setLoading(false); }); }, [apiUrl]); + useEffect(() => { + loadWindowVariables(apiUrl) + .then(() => { + if (window.kueCableBreak && Array.isArray(window.kueCableBreak)) { + // Prüfe, ob window.kueCableBreak ein Array ist + const cableBreakArray = window.kueCableBreak.map(Number); + setKueCableBreak(cableBreakArray); // Array für kueCableBreak + } else if (typeof window.kueCableBreak === "string") { + // Falls es ein String ist, splitte den String und mappe ihn in ein Array + const cableBreakArray = window.kueCableBreak.split(",").map(Number); + setKueCableBreak(cableBreakArray); + } else { + console.error( + "Konnte kueCableBreak nicht finden oder es ist kein gültiges Array/String." + ); + setError( + "Konnte kueCableBreak nicht finden oder es ist kein gültiges Array/String." + ); + } + setLoading(false); + }) + .catch((error) => { + console.error("Fehler beim Laden des Skripts:", error); + setError(error); + setLoading(false); + }); + }, [apiUrl]); const parseMessages = (messages) => { messages = messages @@ -93,38 +121,30 @@ function Dashboard() { const renderBaugruppentraeger = () => { const baugruppen = []; - // Dynamisch berechnen, wie viele Baugruppenträger benötigt werden, basierend auf der Länge von kueOnline + // Adjust based on actual length of kueOnline const numBaugruppen = Math.ceil(kueOnline.length / 8); for (let i = 0; i < numBaugruppen; i++) { const slots = kueOnline.slice(i * 8, (i + 1) * 8); - // Prüfen, ob der Baugruppenträger überhaupt Zahlen oder "0" enthält - const containsNumbersOrZero = slots.some( - (version) => version !== "" && version !== null && version !== undefined - ); + baugruppen.push( +
Lädt...
) : error ? ( -{error}
+{error.toString()}
) : ( renderBaugruppentraeger() )} diff --git a/components/modulesStatus/Kue705_FO.jsx b/components/modulesStatus/Kue705_FO.jsx index 5781b2e..3270196 100644 --- a/components/modulesStatus/Kue705_FO.jsx +++ b/components/modulesStatus/Kue705_FO.jsx @@ -1,19 +1,31 @@ // components/Kue705_FO.jsx import React from "react"; -const Kue705_FO = ({ slot }) => { +const Kue705_FO = ({ slot, kueCableBreak, isOnline }) => { + if (!isOnline) { + return ( +