From 3b482935d5c13b561d7c31b48aa7f20aa0088cff Mon Sep 17 00:00:00 2001 From: Ismail Ali Date: Tue, 18 Feb 2025 10:29:28 +0100 Subject: [PATCH] useEffect aus einausgaenge.tsx wurde entfernt und durch den useLoadScript-Hook ersetzt. --- config/webVersion.ts | 2 +- hooks/useLoadScript.ts | 6 ++++- pages/einausgaenge.tsx | 51 ++---------------------------------------- 3 files changed, 8 insertions(+), 51 deletions(-) diff --git a/config/webVersion.ts b/config/webVersion.ts index 646b544..268f849 100644 --- a/config/webVersion.ts +++ b/config/webVersion.ts @@ -6,5 +6,5 @@ 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). */ -const webVersion = "1.6.52"; +const webVersion = "1.6.53"; export default webVersion; diff --git a/hooks/useLoadScript.ts b/hooks/useLoadScript.ts index 5207736..5fe62c6 100644 --- a/hooks/useLoadScript.ts +++ b/hooks/useLoadScript.ts @@ -2,7 +2,11 @@ import { useEffect, useState } from "react"; export function useLoadScript() { - const [mockData, setMockData] = useState(); + const [mockData, setMockData] = useState({ + win_de: Array(32).fill(0), + win_counter: Array(32).fill(0), + win_flutter: Array(32).fill(0), + }); const [isLoading, setIsLoading] = useState(true); useEffect(() => { diff --git a/pages/einausgaenge.tsx b/pages/einausgaenge.tsx index 48963b5..431a1e7 100644 --- a/pages/einausgaenge.tsx +++ b/pages/einausgaenge.tsx @@ -3,15 +3,9 @@ import React, { useState, useEffect } from "react"; import { Icon } from "@iconify/react"; import DigitalOutputs from "../components/main/einausgaenge/DigitalOutputs"; import DigitalInputs from "../components/main/einausgaenge/DigitalInputs"; +import { useLoadScript } from "../hooks/useLoadScript"; function EinAusgaenge() { - const [mockData, setMockData] = useState({ - win_de: Array(32).fill(0), - win_counter: Array(32).fill(0), - win_flutter: Array(32).fill(0), - }); - const [isLoading, setIsLoading] = useState(true); - // Digitale Ausgänge (Hooks müssen immer initialisiert werden) const [digitalOutputs, setDigitalOutputs] = useState([ { id: 1, description: "Ausgang1", toggle: true }, @@ -26,48 +20,7 @@ function EinAusgaenge() { const [isInputModalOpen, setIsInputModalOpen] = useState(false); const [isOutputModalOpen, setIsOutputModalOpen] = useState(false); - useEffect(() => { - const isDevelopment = process.env.NODE_ENV === "development"; - const script = document.createElement("script"); - - script.src = isDevelopment - ? "/CPLmockData/SERVICE/de.js" - : "/CPL/SERVICE/de.js"; - script.async = true; - - script.onload = () => { - try { - if ( - typeof win_de !== "undefined" && - typeof win_counter !== "undefined" && - typeof win_flutter !== "undefined" - ) { - setMockData({ - win_de, - win_counter, - win_flutter, - }); - } else { - console.error("Mock-Daten konnten nicht geladen werden."); - } - } catch (error) { - console.error("Fehler beim Zugriff auf die globalen Daten:", error); - } finally { - setIsLoading(false); - } - }; - - script.onerror = () => { - console.error("Fehler beim Laden der Skript-Datei:", script.src); - setIsLoading(false); - }; - - document.body.appendChild(script); - - return () => { - document.body.removeChild(script); - }; - }, []); + const { mockData, isLoading } = useLoadScript(); const toggleSwitch = (id) => { setDigitalOutputs((prevOutputs) =>