From 57ddf41f3cfc067c52b7d4ec471657d986c3c6a7 Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 24 Sep 2024 10:25:03 +0200 Subject: [PATCH] funktioniert mit nur server.js --- components/Header.jsx | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/components/Header.jsx b/components/Header.jsx index 1b55cea..39e5371 100644 --- a/components/Header.jsx +++ b/components/Header.jsx @@ -9,7 +9,7 @@ function Header() { useEffect(() => { // API-Aufruf, um die Daten vom Server zu holen - fetch("http://localhost:3000/api/server?path=main.js", { mode: "cors" }) + fetch("http://localhost:3000/api/server", { mode: "cors" }) .then((response) => { if (!response.ok) { throw new Error("Fehler beim Abrufen der Daten"); @@ -18,27 +18,32 @@ function Header() { }) .then((data) => { console.log("Fetched data:", data); // Logge die empfangenen Daten - const parsedData = extractDataFromFile(data); - setStationsname(parsedData.stationsname); - setCplStatus(parsedData.cplStatus); + + // Überprüfen, ob das Skript bereits vorhanden ist + const scriptId = "server-script"; + let script = document.getElementById(scriptId); + if (script) { + // Wenn das Skript bereits vorhanden ist, entfernen wir es + document.body.removeChild(script); + } + + // Erstelle und füge das neue Skript hinzu + script = document.createElement("script"); + script.id = scriptId; + script.innerHTML = data; + document.body.appendChild(script); + + // Nach dem Anhängen des Skripts haben wir Zugriff auf die definierten Variablen + setTimeout(() => { + setStationsname(window.cpl_name || "Unbekannt"); + setCplStatus(window.hardware_version || "Unbekannt"); + }, 100); // 100ms Verzögerung, um sicherzustellen, dass die Variablen geladen sind. }) .catch((error) => { console.error("Fehler beim Abrufen der Daten:", error); }); }, []); - // Funktion zum Extrahieren der gewünschten Daten aus dem Text - function extractDataFromFile(fileText) { - // Beispiel zum Extrahieren des Stationsnamens, du kannst dies nach Bedarf anpassen - const stationsnameMatch = fileText.match(/

Willkommen bei (.*?)<\/h1>/); - const cplStatusMatch = fileText.match(/

Hardware Version: (.*?)<\/p>/); - - return { - stationsname: stationsnameMatch ? stationsnameMatch[1] : "Unbekannt", - cplStatus: cplStatusMatch ? cplStatusMatch[1] : "Unbekannt", - }; - } - return (