"use client"; // components/main/uebersicht/Baugruppentraeger.tsx import React, { useMemo, useEffect } from "react"; import { useSelector } from "react-redux"; import { useRouter } from "next/navigation"; import { RootState, useAppDispatch } from "@/redux/store"; import KabelModulStatus from "./modulesStatus/KabelModulStatus"; import { getKueDataThunk } from "@/redux/thunks/getKueDataThunk"; const Baugruppentraeger: React.FC = () => { const dispatch = useAppDispatch(); 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.kueDataSlice); // `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 baugruppen: JSX.Element[] = []; const numBaugruppen = Math.ceil(kueOnline.length / 8); for (let i = 0; i < numBaugruppen; i++) { const slots = kueOnline.slice(i * 8, (i + 1) * 8); baugruppen.push(