// 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"; // Importiere die Funktion import SettingsModal from "./modales/SettingsModal"; function Header() { const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL; const [stationsname, setStationsname] = useState("Lädt..."); // Platzhalter const [cplStatus, setCplStatus] = useState("Lädt..."); const [showSettingsModal, setShowSettingsModal] = useState(false); const handleSettingsClick = () => { setShowSettingsModal(true); // Öffne das Modal }; const handleCloseSettingsModal = () => { setShowSettingsModal(false); // Schließe das Modal }; useEffect(() => { // Lade die Variablen vom Server und setze sie in `window` loadWindowVariables(apiUrl) .then(() => { // Greife auf die geladenen Variablen im `window`-Objekt zu setStationsname(window.deviceName || "Unbekannt"); setCplStatus(window.hardware_version || "Unbekannt"); }) .catch((error) => { console.error("Fehler beim Laden der Variablen:", error); }); }, [apiUrl]); return (
{/* Logo - Vergrößert und verschoben */}
Logo
{/* CPL Status und Stationsname */}
{/* Text immer linksbündig */}

Stationsname

{stationsname}

{/* Temperatur und Icons */}
{/* Temperatur und Luftfeuchtigkeit */} {/*

20.5 °C

60%

*/} {/* Toggle Switch light and dark mode */} {/*
*/} {/* Settings Icon als Button */}
{/* User Icon */} {/*
*/}
{/* SettingsModal wird angezeigt, wenn showSettingsModal true ist */} {showSettingsModal && ( )}
); } export default Header;