diff --git a/config/webVersion.ts b/config/webVersion.ts index 88dd2b1..afdd7b6 100644 --- a/config/webVersion.ts +++ b/config/webVersion.ts @@ -5,5 +5,5 @@ 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). */ -const webVersion = "1.6.23"; +const webVersion = "1.6.24"; export default webVersion; diff --git a/pages/dashboard.tsx b/pages/dashboard.tsx index c8d6277..33a75c6 100644 --- a/pages/dashboard.tsx +++ b/pages/dashboard.tsx @@ -1,5 +1,5 @@ -"use client"; // app/dashboard/page.jsx -import React, { useEffect } from "react"; +"use client"; +import React, { useEffect, useMemo } from "react"; import { useRouter } from "next/navigation"; import "tailwindcss/tailwind.css"; import "@fontsource/roboto"; @@ -17,10 +17,11 @@ import NetworkInfo from "../components/main/uebersicht/NetworkInfo"; import VersionInfo from "../components/main/uebersicht/VersionInfo"; import Baugruppentraeger from "../components/main/uebersicht/Baugruppentraeger"; -function Dashboard() { +const Dashboard: React.FC = () => { const router = useRouter(); const dispatch = useDispatch(); + // Setzt OPC-UA-Werte beim Laden der Seite useEffect(() => { if (typeof window !== "undefined") { dispatch(setOpcUaZustand(window.win_opcUaZustand || "Unbekannt")); @@ -31,39 +32,35 @@ function Dashboard() { ); dispatch(setOpcUaNodesetName(window.win_opcUaNodesetName || "Unbekannt")); } - }, []); + }, [dispatch]); - // Redux-Variablen abrufen - const kueOnlineRaw = useSelector( - (state: RootState) => state.variables.kueOnline + // Redux-Variablen abrufen & Werte sicherstellen + const { + kueOnline: kueOnlineRaw, + kueVersion, + kueCableBreak, + kueAlarm1, + kueAlarm2, + kueGroundFault, + } = useSelector((state: RootState) => state.variables); + + // `kueOnline` sicherstellen, dass es nur Zahlen enthält + const kueOnline = useMemo( + () => + kueOnlineRaw.map((value) => + typeof value === "string" ? parseFloat(value) || 0 : value + ), + [kueOnlineRaw] ); - // Sicherstellen, dass kueOnline nur Zahlen enthält - const kueOnline = kueOnlineRaw.map((value) => - typeof value === "string" ? parseFloat(value) || 0 : value - ); - const kueVersion = useSelector( - (state: RootState) => state.variables.kueVersion - ); - const kueCableBreak = useSelector( - (state: RootState) => state.variables.kueCableBreak - ); - const kueAlarm1 = useSelector( - (state: RootState) => state.variables.kueAlarm1 - ); - const kueAlarm2 = useSelector( - (state: RootState) => state.variables.kueAlarm2 - ); - const kueGroundFault = useSelector( - (state: RootState) => state.variables.kueGroundFault - ); - - const handleModuleClick = (rackNumber) => { + // Modul-Klick-Handler + const handleModuleClick = (rackNumber: number) => { router.push(`/kabelueberwachung?rack=${rackNumber}`); }; return (
+ {/* Header */}
+ {/* Hauptbereich mit Meldungstabelle und Baugruppenträger */}
@@ -99,6 +97,6 @@ function Dashboard() {
); -} +}; export default Dashboard;