"use client"; // components/Header.jsx import React, { useEffect, useState } from "react"; import Image from "next/image"; import "bootstrap-icons/font/bootstrap-icons.css"; import SettingsModal from "./modales/SettingsModal"; import { getFromIndexedDB, initializeDatabase } from "../utils/indexedDB"; // Importiere initializeDatabase function Header() { const [stationsname, setStationsname] = useState("Lädt..."); const [cplStatus, setCplStatus] = useState("Lädt..."); const [showSettingsModal, setShowSettingsModal] = useState(false); const handleSettingsClick = () => setShowSettingsModal(true); const handleCloseSettingsModal = () => setShowSettingsModal(false); const handleLogout = () => (window.location.href = "/offline.html"); //------------------------------------------------------------------ useEffect(() => { const loadData = async () => { try { // Versuche die Daten zu laden const deviceName = await getFromIndexedDB("deviceName"); const hardwareVersion = await getFromIndexedDB("kueVersion"); setStationsname(deviceName || "Unbekannt"); setCplStatus(hardwareVersion || "Unbekannt"); } catch (error) { console.error("Fehler beim Laden der Daten aus IndexedDB:", error); // Initialisiere die Datenbankstruktur, falls sie fehlt await initializeDatabase(); } }; loadData(); const interval = setInterval(() => { loadData(); }, 5000); return () => clearInterval(interval); }, []); //------------------------------------------------------------------ return (
Logo

Stationsname

{stationsname}

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