"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 der Funktion, um die Werte nur einmal zu setzen let variablesLogged = false; useEffect(() => { const checkVariablesLoaded = async () => { if (window.deviceName) { setStationsname(window.deviceName); } else { // Falls die Variablen noch nicht geladen sind, erneut prüfen nach 3000 ms await new Promise((resolve) => setTimeout(resolve, 3000)); checkVariablesLoaded(); // Erneut aufrufen, wenn noch nicht geladen } }; checkVariablesLoaded(); // Startet die erste Überprüfung // Kein Cleanup erforderlich, da `setTimeout` nur bei Bedarf ausgeführt wird }, []); const handleSettingsClick = () => setShowSettingsModal(true); const handleCloseSettingsModal = () => setShowSettingsModal(false); const handleLogout = () => (window.location.href = "/offline.html"); return (
Logo

Stationsname

{stationsname}

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