"use client"; // Wichtig, um sicherzustellen, dass der Code nur auf dem Client ausgeführt wird import React, { useEffect, useState } from "react"; import { Icon } from "@iconify/react"; // indexDB-Funktionen nur im Browser importieren let storePDF, getPDF; if (typeof window !== "undefined") { const indexedDBModule = require("../utils/indexedDB"); storePDF = indexedDBModule.storePDF; getPDF = indexedDBModule.getPDF; } function Footer() { const [pdfName, setPdfName] = useState(""); const [showSlider, setShowSlider] = useState(false); const pdfFiles = [ "ACCESS.PDF", "CPL.PDF", "CPL220.PDF", "CPL3.PDF", "Daten_APL.pdf", "Daten_CDO.pdf", "Daten_DPL.pdf", "KUE605.PDF", "KUE605uC.PDF", "KUE605uF.PDF", "KUE705FO.PDF", "Modem.pdf", "PST212.PDF", "Temper.pdf", "Wasser.pdf", "XIOPM.PDF", ]; useEffect(() => { if (typeof window !== "undefined" && getPDF && storePDF) { async function loadAndStorePDFs() { try { for (const fileName of pdfFiles) { const storedPdf = await getPDF(fileName); if (!storedPdf) { const response = await fetch(`/doku/${fileName}`); const pdfBlob = await response.blob(); await storePDF(fileName, pdfBlob); console.log(`${fileName} in IndexedDB gespeichert.`); } } } catch (error) { console.error("Fehler beim Laden oder Speichern der PDFs:", error); } } loadAndStorePDFs(); } }, [getPDF, storePDF]); const loadPDF = async (fileName) => { if (typeof window !== "undefined" && getPDF) { const storedPdf = await getPDF(fileName); if (storedPdf) { const pdfUrl = URL.createObjectURL(storedPdf); window.open(pdfUrl, "_blank"); // Öffnet die PDF in einem neuen Tab setPdfName(fileName); setShowSlider(false); } else { console.error("PDF nicht in IndexedDB gefunden"); } } }; return ( ); } export default Footer;