"use client"; // app/dashboard/page.jsx import React, { useEffect, useState } from "react"; import "tailwindcss/tailwind.css"; import "@fontsource/roboto"; import "bootstrap-icons/font/bootstrap-icons.css"; import { loadWindowVariables } from "../../utils/loadWindowVariables"; import CPLStatus from "../../components/modulesStatus/CPLStatus"; import Access1Status from "../../components/modulesStatus/Access1Status"; import Access2Status from "../../components/modulesStatus/Access2Status"; import KabelModulStatus from "../../components/modulesStatus/KabelModulStatus"; import XioPM1Status from "../../components/modulesStatus/XioPM1Status"; import XioPM2Status from "../../components/modulesStatus/XioPM2Status"; import { Icon } from "@iconify/react"; function Dashboard() { const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL; const [last20Messages, setLast20Messages] = useState([]); const [kueOnline, setkueOnline] = useState([]); const [ip, setIp] = useState(""); const [subnet, setSubnet] = useState(""); const [gateway, setGateway] = useState(""); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [kueCableBreak, setKueCableBreak] = useState([]); useEffect(() => { loadWindowVariables(apiUrl) .then(() => { if (window.last20Messages) { const parsedMessages = parseMessages(window.last20Messages); setLast20Messages(parsedMessages); setIp(window.ip); setSubnet(window.subnet); setGateway(window.gateway); } else { console.error("Konnte last20Messages nicht finden."); setError("Konnte last20Messages nicht finden."); } setLoading(false); }) .catch((error) => { console.error("Fehler beim Laden des Skripts:", error); setError(error); setLoading(false); }); }, [apiUrl]); useEffect(() => { loadWindowVariables(apiUrl) .then(() => { if (window.kueCableBreak && Array.isArray(window.kueCableBreak)) { // Prüfe, ob window.kueCableBreak ein Array ist const cableBreakArray = window.kueCableBreak.map(Number); setKueCableBreak(cableBreakArray); // Array für kueCableBreak } else if (typeof window.kueCableBreak === "string") { // Falls es ein String ist, splitte den String und mappe ihn in ein Array const cableBreakArray = window.kueCableBreak.split(",").map(Number); setKueCableBreak(cableBreakArray); } else { console.error( "Konnte kueCableBreak nicht finden oder es ist kein gültiges Array/String." ); setError( "Konnte kueCableBreak nicht finden oder es ist kein gültiges Array/String." ); } setLoading(false); }) .catch((error) => { console.error("Fehler beim Laden des Skripts:", error); setError(error); setLoading(false); }); }, [apiUrl]); const parseMessages = (messages) => { messages = messages .replace(/
| ID | Modul | Zeitstempel | Meldung | Status |
|---|---|---|---|---|
| {columns[0]} | {columns[1]} |
{columns[2].split(" ")[0]}
{columns[2].split(" ")[1]}
|
{columns[3]} | {columns[4]} |
| Keine Meldungen verfügbar. | ||||
Applikationsversion: 5.1.1.8 C-24-KA
Webserverversion: 5.3.4.1
Lädt...
) : error ? ({error.toString()}
) : ( renderBaugruppentraeger() )}IP-Adresse
{ip}
Subnet-Maske
{subnet}
Gateway
{gateway}