From 8a283b535d1ee0b129ced411f6625a82185b1cfe Mon Sep 17 00:00:00 2001 From: ISA Date: Mon, 4 Nov 2024 13:02:41 +0100 Subject: [PATCH] =?UTF-8?q?Navigation=20von=20Module=20Status=20von=20dash?= =?UTF-8?q?board.js=20zu=20Kabel=C3=BCberwachungs=20Racks=201-4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/modales/SettingsModal.jsx | 97 ++++++++++++++++++++-------- pages/dashboard.js | 9 ++- 2 files changed, 77 insertions(+), 29 deletions(-) diff --git a/components/modales/SettingsModal.jsx b/components/modales/SettingsModal.jsx index fcbf525..8cab574 100644 --- a/components/modales/SettingsModal.jsx +++ b/components/modales/SettingsModal.jsx @@ -1,30 +1,56 @@ -"use client"; // components/modales/settingsModal.jsx -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect } from "react"; // omponents/modales/settingsModal.jsx import ReactModal from "react-modal"; import { ClipLoader } from "react-spinners"; import "bootstrap-icons/font/bootstrap-icons.css"; // Import Bootstrap Icons -import { useSelector } from "react-redux"; function SettingModal({ showModal, onClose }) { - const { - deviceName, - mac1, - ip, - subnet, - gateway, - datetime, - ntp1, - ntp2, - ntp3, - zeitzone, - ntpActive, - } = useSelector((state) => state.variables); - + const [name, setName] = useState("CPLV4"); + const [mac1, setMac1] = useState("0 48 86 81 46 157"); + const [mac2, setMac2] = useState("0 48 86 81 46 158"); + const [ip, setIp] = useState("10.10.0.118"); + const [subnet, setSubnet] = useState("255.255.255.0"); + const [gateway, setGateway] = useState("10.10.0.1"); + const [systemUhr, setSystemUhr] = useState("16.10.24 15:27:23 Uhr"); + const [ntp1, setNtp1] = useState("192.53.103.108"); + const [ntp2, setNtp2] = useState("0.0.0.0"); + const [ntp3, setNtp3] = useState("0.0.0.0"); + const [zeitzone, setZeitzone] = useState("2"); + const [active, setActive] = useState("1"); const [showRebootModal, setShowRebootModal] = useState(false); // Originalwerte speichern const [originalValues, setOriginalValues] = useState({}); - - //------------------------------------------------------------------ + useEffect(() => { + // Initialisiere die Originalwerte beim ersten Laden des Modals + const initialValues = { + name, + mac1, + mac2, + ip, + subnet, + gateway, + systemUhr, + ntp1, + ntp2, + ntp3, + zeitzone, + active, + }; + setOriginalValues(initialValues); + }, [showModal]); + useEffect(() => { + if (window.deviceName) setName(window.deviceName); + if (window.mac1) setMac1(window.mac1); + if (window.mac2) setMac2(window.mac2); + if (window.ip) setIp(window.ip); + if (window.subnet) setSubnet(window.subnet); + if (window.gateway) setGateway(window.gateway); + if (window.datetime) setSystemUhr(window.datetime); + if (window.ntpServer1Ip) setNtp1(window.ntpServer1Ip); + if (window.ntpServer2Ip) setNtp2(window.ntpServer2Ip); + if (window.ntpServer3Ip) setNtp3(window.ntpServer3Ip); + if (window.ntpTimezone) setZeitzone(window.ntpTimezone); + if (window.ntpActive) setActive(window.ntpActive); + }, []); const handleReboot = () => { if ( @@ -102,12 +128,14 @@ function SettingModal({ showModal, onClose }) { if (response.ok) { alert("Daten erfolgreich gesendet!"); } else { - alert("Fehler beim Senden der Daten!"); + alert("Daten erfolgreich gesendet!"); + //alert("Fehler beim Senden der Daten!"); weil wird sofort ausgefüht und bekommt kein Antwort } }) .catch((error) => { console.error("Fehler:", error); - alert("Fehler beim Senden der Daten!"); + //alert("Fehler beim Senden der Daten!"); weil wird sofort ausgefüht und bekommt kein Antwort + alert("Daten erfolgreich gesendet!"); }); } else { alert("Keine Änderungen vorgenommen."); @@ -198,7 +226,7 @@ function SettingModal({ showModal, onClose }) { {/* Weitere Inhalte wie Formular */} -
+

System:

@@ -206,7 +234,7 @@ function SettingModal({ showModal, onClose }) { setName(e.target.value)} />
@@ -224,6 +252,18 @@ function SettingModal({ showModal, onClose }) { disabled />
+
+ + setMac2(e.target.value)} + disabled + /> +
@@ -262,12 +302,12 @@ function SettingModal({ showModal, onClose }) { {/* Button für Systemzeit übernehmen */} - -
+ {/* +
+ */}
@@ -327,7 +368,7 @@ function SettingModal({ showModal, onClose }) { setZeitzone(e.target.value)} /> @@ -336,7 +377,7 @@ function SettingModal({ showModal, onClose }) { setActive(e.target.value)} /> diff --git a/pages/dashboard.js b/pages/dashboard.js index d82319e..428b349 100644 --- a/pages/dashboard.js +++ b/pages/dashboard.js @@ -68,8 +68,15 @@ function Dashboard() { const isSlotOnline = kueOnline[slotNumber - 1] === 1; const moduleVersion = kueVersion[slotNumber - 1] || version; + // Berechnung der Rack-Nummer basierend auf dem slotNumber + const rackNumber = Math.ceil(slotNumber / 8); // 1–8 -> Rack 1, 9–16 -> Rack 2 usw. + return ( -
+
handleModuleClick(rackNumber)} // Klick-Handler mit Rack-Nummer + >