fix: handleModuleClick für Baugrüppenträger in dashboard.tsx
This commit is contained in:
@@ -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<BaugruppentraegerProps> = ({
|
||||
kueOnline,
|
||||
kueVersion,
|
||||
kueCableBreak,
|
||||
kueAlarm1,
|
||||
kueAlarm2,
|
||||
kueGroundFault,
|
||||
handleModuleClick,
|
||||
}) => {
|
||||
const baugruppen: JSX.Element[] = [];
|
||||
const numBaugruppen = Math.ceil(kueOnline.length / 8);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user