diff --git a/components/Footer.jsx b/components/Footer.jsx index c2dfe86..6ae993d 100644 --- a/components/Footer.jsx +++ b/components/Footer.jsx @@ -1,10 +1,8 @@ -"use client"; // app/Footer.jsx +"use client"; // Wichtig, um sicherzustellen, dass der Code nur auf dem Client ausgeführt wird import React, { useEffect, useState, useRef } from "react"; import { Icon } from "@iconify/react"; -import { storePDF, getPDF } from "../utils/indexedDB"; // Korrekte Importe für die PDF-Funktionen function Footer() { - const [pdfName, setPdfName] = useState(""); const [showSlider, setShowSlider] = useState(false); const sliderRef = useRef(null); @@ -27,41 +25,14 @@ function Footer() { //"XIOPM.PDF", ]; - useEffect(() => { - 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); - } - } - - if (typeof window !== "undefined") { - loadAndStorePDFs(); - } - }, []); - - const loadPDF = async (fileName) => { - 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"); - } + // Funktion zum Laden der PDFs direkt aus dem öffentlichen Verzeichnis + const loadPDF = (fileName) => { + const pdfUrl = `/doku/${fileName}`; // Annahme: Die PDFs liegen im Ordner "public/doku" + window.open(pdfUrl, "_blank"); // Öffnet die PDF in einem neuen Tab + setShowSlider(false); }; - // Close slider when clicking outside + // Schließt den Slider, wenn außerhalb geklickt wird useEffect(() => { function handleClickOutside(event) { if (sliderRef.current && !sliderRef.current.contains(event.target)) { diff --git a/pages/dashboard.js b/pages/dashboard.js index 353c3fd..d82319e 100644 --- a/pages/dashboard.js +++ b/pages/dashboard.js @@ -163,7 +163,14 @@ function Dashboard() {

- Applikationsversion: {appVersion} + Applikationsversion:{" "} + {appVersion}{" "} +

+
+
+ +

+ Webserverversion: 1.0.0

diff --git a/pages/wait.js b/pages/wait.js index 6729557..760487a 100644 --- a/pages/wait.js +++ b/pages/wait.js @@ -3,29 +3,10 @@ import { useEffect } from "react"; import { useRouter } from "next/navigation"; import { ClipLoader } from "react-spinners"; -// IndexedDB functions only in the browser -let storePage, getPage; -if (typeof window !== "undefined") { - const indexedDBModule = require("../utils/indexedDB"); - storePage = indexedDBModule.storePage; - getPage = indexedDBModule.getPage; -} - export default function WaitPage() { const router = useRouter(); useEffect(() => { - // Store the page as a Blob in IndexedDB in the background - if (typeof window !== "undefined" && storePage) { - const pageContent = ` -
-

Bitte warten...

-
-

Die Seite wird automatisch neu geladen.

-
`; - storePage("waitPage", new Blob([pageContent], { type: "text/html" })); - } - // Timer to redirect after 20 seconds const timer = setTimeout(() => { router.push("/"); diff --git a/utils/indexedDB.js b/utils/indexedDB.js index 4ce7a4e..bae30fb 100644 --- a/utils/indexedDB.js +++ b/utils/indexedDB.js @@ -1,16 +1,11 @@ -import { openDB, deleteDB } from "idb"; +//wird nicht mehr benötigt, Redux übernimmt die Speicherung der Variablen +//import { openDB, deleteDB } from "idb"; // Exportiere die Funktion initializeDatabase -export async function initializeDatabase() { +/* export async function initializeDatabase() { try { const db = await openDB("CPLDatabase", 1, { upgrade(db) { - if (!db.objectStoreNames.contains("pdfs")) { - db.createObjectStore("pdfs"); - } - if (!db.objectStoreNames.contains("pages")) { - db.createObjectStore("pages"); - } if (!db.objectStoreNames.contains("cplVariables")) { db.createObjectStore("cplVariables"); } @@ -36,14 +31,4 @@ export async function getFromIndexedDB(key) { const db = await initializeDatabase(); return await db.get("cplVariables", key); } - -// Beispiel weitere Funktion für PDF-Speicherung -export async function storePDF(name, file) { - const db = await initializeDatabase(); - await db.put("pdfs", file, name); -} -// Funktion zum Abrufen von PDF-Dateien aus der IndexedDB -export async function getPDF(name) { - const db = await initializeDatabase(); - return await db.get("pdfs", name); -} + */