From 12ada92755967dc6d33432752d7b8ffec2254bcb Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 12 Nov 2024 13:46:20 +0100 Subject: [PATCH] feat: bedingte Weiterleitung nach 35 Sekunden CPL-Neustart basierend auf der Umgebung implementiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Zeigt Warte-Seite für 5 Sekunden an, bevor zur Dashboard-Seite weitergeleitet wird - Weiterleitung in der Produktion zu "/dashboard.html" und in der Entwicklung zu "/dashboard" - handleReboot angepasst, um nach 35 Sekunden CPL-Neustart die Verfügbarkeit sicherzustellen und Weiterleitung basierend auf NODE_ENV zu steuern --- .../settingsModal/handlers/handleReboot.js | 82 ++++++++++++++++--- 1 file changed, 72 insertions(+), 10 deletions(-) diff --git a/components/modales/settingsModal/handlers/handleReboot.js b/components/modales/settingsModal/handlers/handleReboot.js index f646563..680792a 100644 --- a/components/modales/settingsModal/handlers/handleReboot.js +++ b/components/modales/settingsModal/handlers/handleReboot.js @@ -1,18 +1,80 @@ -// components/modales/handlers/handleReboot.js -const handleReboot = () => { +const handleReboot = async () => { + // Zeigt eine einfache Warteanzeige direkt in der aktuellen Seite an + const showWaitPage = () => { + const waitHTML = ` + + + + + + Bitte warten... + + + +
+
+

Bitte warten, Ihre Anfrage wird bearbeitet...

+
+ + + `; + + // Ersetzt den gesamten HTML-Inhalt der Seite mit der Warteanzeige + document.documentElement.innerHTML = waitHTML; + }; + if ( window.confirm("Sind Sie sicher, dass Sie den CPL neu starten möchten?") ) { - let currentPath = window.location.pathname; - if (!currentPath.endsWith(".html")) { - currentPath += ".html"; - } + // Zeige die Warte-Seite direkt an + showWaitPage(); - const url = `${window.location.origin}/CPL?${currentPath}&BOOT=1`; + // Umleitung abhängig von der Umgebung nach 5 Sekunden + const redirectURL = + process.env.NODE_ENV === "production" ? "/dashboard.html" : "/dashboard"; + + setTimeout(() => { + window.location.href = `${window.location.origin}${redirectURL}`; + }, 35000); // getestet, Nach 35 Sekunden wird CPL rebootet + + // Führe den `fetch`-Aufruf zum Neustart aus (gleichzeitig) + const url = `${window.location.origin}/CPL?wait2reboot.html&BOOT=1`; console.log(url); - fetch(url, { method: "GET" }).finally(() => { - window.location.href = `/wait`; - }); + + fetch(url, { method: "GET" }) + .then(() => { + console.log("Neustart-Anfrage erfolgreich gesendet."); + }) + .catch((error) => { + console.error("Fehler beim Senden der Neustartanfrage:", error); + }); } };