// components/Header.jsx "use client"; import React, { useEffect, useState } from "react"; import Image from "next/image"; import "bootstrap-icons/font/bootstrap-icons.css"; import { loadWindowVariables } from "../utils/loadWindowVariables"; import SettingsModal from "./modales/SettingsModal"; function Header() { const [stationsname, setStationsname] = useState("Lädt..."); const [cplStatus, setCplStatus] = useState("Lädt..."); const [showSettingsModal, setShowSettingsModal] = useState(false); // Flag außerhalb des State-Managements, um die Ausgabe nur einmal zu loggen let variablesLogged = false; useEffect(() => { loadWindowVariables() .then(() => { if (!variablesLogged) { console.log("Geladene Systemvariablen:", { deviceName: window.deviceName, ip: window.ip, mac1: window.mac1, mac2: window.mac2, subnet: window.subnet, gateway: window.gateway, datetime: window.datetime, kueOnline: window.kueOnline, kueIso: window.kueIso, kueValid: window.kueValid, kueAlarm1: window.kueAlarm1, kueAlarm2: window.kueAlarm2, kueRes: window.kueRes, kueCableBreak: window.kueCableBreak, kueGroundFault: window.kueGroundFault, kueLimit1: window.kueLimit1, kueLimit2Low: window.kueLimit2Low, kueLimit2High: window.kueLimit2High, kueDelay1: window.kueDelay1, kueLoopInterval: window.kueLoopInterval, kueID: window.kueID, kueName: window.kueName, kueVersion: window.kueVersion, kueOverflow: window.kueOverflow, kue100V: window.kue100V, kueResidence: window.kueResidence, kueBooting: window.kueBooting, tdrAtten: window.tdrAtten, tdrPulse: window.tdrPulse, tdrSpeed: window.tdrSpeed, tdrAmp: window.tdrAmp, tdrTrigger: window.tdrTrigger, tdrLocation: window.tdrLocation, tdrActive: window.tdrActive, tdrLast: window.tdrLast, }); variablesLogged = true; // Setze das Flag, um das erneute Loggen zu verhindern } setStationsname(window.deviceName || "Unbekannt"); setCplStatus(window.hardware_version || "Unbekannt"); }) .catch((error) => { console.error("Fehler beim Laden der Variablen:", error); }); }, []); const handleSettingsClick = () => setShowSettingsModal(true); const handleCloseSettingsModal = () => setShowSettingsModal(false); const handleLogout = () => (window.location.href = "/offline.html"); return (
Logo

Stationsname

{stationsname}

{showSettingsModal && ( )}
); } export default Header;