// components/Header.jsx "use client"; import React, { useEffect, useState } from "react"; import Image from "next/image"; import "bootstrap-icons/font/bootstrap-icons.css"; 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(() => { const interval = setInterval(() => { if (localStorage.getItem("variablesLoaded") === "true") { // Lade die Werte nur, wenn die Variablen tatsächlich geladen wurden setStationsname(window.deviceName || "Unbekannt"); setCplStatus(window.hardware_version || "Unbekannt"); clearInterval(interval); // Beende das Intervall, sobald die Werte gesetzt sind } }, 500); // Prüfe das Flag alle 500 ms return () => clearInterval(interval); }, []); const handleSettingsClick = () => setShowSettingsModal(true); const handleCloseSettingsModal = () => setShowSettingsModal(false); const handleLogout = () => (window.location.href = "/offline.html"); return (
Logo

Stationsname

{stationsname}

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