"use client"; import React from "react"; 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 = ({ kueOnline, kueVersion, kueCableBreak, kueAlarm1, kueAlarm2, kueGroundFault, handleModuleClick, }) => { 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(
{slots.map((version, index) => { const slotNumber = i * 8 + index + 1; const isSlotOnline = kueOnline[slotNumber - 1] === 1; const rawModuleVersion = kueVersion[slotNumber - 1] || version; // Sicherstellen, dass moduleVersion eine Zahl ist const moduleVersion = typeof rawModuleVersion === "number" ? rawModuleVersion : parseFloat(rawModuleVersion) || 0; const rackNumber = Math.ceil(slotNumber / 8); return (
handleModuleClick(rackNumber)} >
); })}
); } return <>{baugruppen}; }; export default Baugruppentraeger;