diff --git a/components/main/uebersicht/Baugruppentraeger.tsx b/components/main/uebersicht/Baugruppentraeger.tsx index 7c78be1..26f81eb 100644 --- a/components/main/uebersicht/Baugruppentraeger.tsx +++ b/components/main/uebersicht/Baugruppentraeger.tsx @@ -1,26 +1,37 @@ "use client"; -import React from "react"; +import React, { useMemo } from "react"; +import { useSelector } from "react-redux"; +import { useRouter } from "next/navigation"; +import { RootState } from "../redux/store"; import KabelModulStatus from "./modulesStatus/KabelModulStatus"; -interface BaugruppentraegerProps { - kueOnline: number[]; - kueVersion: (number | string)[]; - kueCableBreak: number[]; - kueAlarm1: number[]; - kueAlarm2: number[]; - kueGroundFault: number[]; - handleModuleClick: (rackNumber: number) => void; -} +const Baugruppentraeger: React.FC = () => { + const router = useRouter(); // useRouter für Navigation hinzufügen + + // Redux-Variablen direkt hier abrufen + 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] + ); + + // Klick-Handler für Routing + const handleModuleClick = (rackNumber: number) => { + router.push(`/kabelueberwachung?rack=${rackNumber}`); + }; -const Baugruppentraeger: React.FC = ({ - kueOnline, - kueVersion, - kueCableBreak, - kueAlarm1, - kueAlarm2, - kueGroundFault, - handleModuleClick, -}) => { const baugruppen: JSX.Element[] = []; const numBaugruppen = Math.ceil(kueOnline.length / 8); diff --git a/config/webVersion.ts b/config/webVersion.ts index afdd7b6..c85c7b6 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.24"; +const webVersion = "1.6.25"; export default webVersion; diff --git a/pages/dashboard.tsx b/pages/dashboard.tsx index 33a75c6..fa2a3b8 100644 --- a/pages/dashboard.tsx +++ b/pages/dashboard.tsx @@ -1,12 +1,11 @@ "use client"; -import React, { useEffect, useMemo } from "react"; +import React, { useEffect } from "react"; import { useRouter } from "next/navigation"; import "tailwindcss/tailwind.css"; import "@fontsource/roboto"; import "bootstrap-icons/font/bootstrap-icons.css"; import { Icon } from "@iconify/react"; -import { useSelector, useDispatch } from "react-redux"; -import { RootState } from "../redux/store"; +import { useDispatch } from "react-redux"; import { setOpcUaZustand, setOpcUaActiveClientCount, @@ -34,30 +33,6 @@ const Dashboard: React.FC = () => { } }, [dispatch]); - // 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] - ); - - // Modul-Klick-Handler - const handleModuleClick = (rackNumber: number) => { - router.push(`/kabelueberwachung?rack=${rackNumber}`); - }; - return (
{/* Header */} @@ -82,15 +57,8 @@ const Dashboard: React.FC = () => {
- + {/* Jetzt holt sich Baugruppentraeger die Werte selbst aus Redux */} +