diff --git a/components/settingsPageComponents/GeneralSettings.tsx b/components/settingsPageComponents/GeneralSettings.tsx new file mode 100644 index 0000000..4cdf293 --- /dev/null +++ b/components/settingsPageComponents/GeneralSettings.tsx @@ -0,0 +1,122 @@ +import React, { useState, useEffect } from "react"; +import { useSelector } from "react-redux"; +import handleClearDatabase from "../modales/settingsModal/handlers/handleClearDatabase"; +import handleReboot from "../modales/settingsModal/handlers/handleReboot"; +import handleSetDateTime from "../modales/settingsModal/handlers/handleSetDateTime"; +import handleSubmit from "../modales/settingsModal/handlers/handleSubmit"; + +const GeneralSettings = () => { + const deviceName_Redux = useSelector((state) => state.variables.deviceName); + const ip_Redux = useSelector((state) => state.variables.ip); + const subnet_Redux = useSelector((state) => state.variables.subnet); + const gateway_Redux = useSelector((state) => state.variables.gateway); + const datetime_Redux = useSelector( + (state) => state.variables.cplInternalTimestamp + ); + const ntp1_Redux = useSelector((state) => state.variables.ntp1); + const ntp2_Redux = useSelector((state) => state.variables.ntp2); + const ntp3_Redux = useSelector((state) => state.variables.ntp3); + const ntpTimezone_Redux = useSelector((state) => state.variables.ntpTimezone); + const active_Redux = useSelector((state) => state.variables.ntpActive); + + const [name, setName] = useState(deviceName_Redux || ""); + const [ip, setIp] = useState(ip_Redux || ""); + const [subnet, setSubnet] = useState(subnet_Redux || ""); + const [gateway, setGateway] = useState(gateway_Redux || ""); + const [systemUhr, setSystemUhr] = useState(datetime_Redux || ""); + const [ntp1, setNtp1] = useState(ntp1_Redux || ""); + const [ntp2, setNtp2] = useState(ntp2_Redux || ""); + const [ntp3, setNtp3] = useState(ntp3_Redux || ""); + const [ntpTimezone, setNtpTimezone] = useState(ntpTimezone_Redux || ""); + const [active, setActive] = useState(active_Redux || ""); + + useEffect(() => { + setName(deviceName_Redux || ""); + setIp(ip_Redux || ""); + setSubnet(subnet_Redux || ""); + setGateway(gateway_Redux || ""); + setSystemUhr(datetime_Redux || ""); + setNtp1(ntp1_Redux || ""); + setNtp2(ntp2_Redux || ""); + setNtp3(ntp3_Redux || ""); + setNtpTimezone(ntpTimezone_Redux || ""); + setActive(active_Redux || ""); + }, [ + deviceName_Redux, + ip_Redux, + subnet_Redux, + gateway_Redux, + datetime_Redux, + ntp1_Redux, + ntp2_Redux, + ntp3_Redux, + ntpTimezone_Redux, + active_Redux, + ]); + + return ( +
+

General Settings

+
+
+ + setName(e.target.value)} + /> +
+ +
+
+ + setIp(e.target.value)} + /> +
+
+ + setSubnet(e.target.value)} + /> +
+
+ +
+ + + +
+
+
+ ); +}; + +export default GeneralSettings; diff --git a/components/settingsPageComponents/OPCUAInterfaceSettings.tsx b/components/settingsPageComponents/OPCUAInterfaceSettings.tsx new file mode 100644 index 0000000..864db1c --- /dev/null +++ b/components/settingsPageComponents/OPCUAInterfaceSettings.tsx @@ -0,0 +1,5 @@ +import React from "react"; + +export default function OPCUAInterfaceSettings() { + return
OPCUAInterfaceSettings
; +} diff --git a/pages/dashboard.tsx b/pages/dashboard.tsx index a1cc683..be19028 100644 --- a/pages/dashboard.tsx +++ b/pages/dashboard.tsx @@ -209,7 +209,7 @@ function Dashboard() { className="text-xl lg:text-base text-blue-400" />

- Webserverversion: 1.0.6.0 + Webserverversion: 1.0.6.1

diff --git a/pages/settings.tsx b/pages/settings.tsx index c2c9734..7626be4 100644 --- a/pages/settings.tsx +++ b/pages/settings.tsx @@ -1,5 +1,41 @@ -import React from "react"; +import React, { useState } from "react"; +import GeneralSettings from "../components/settingsPageComponents/generalSettings"; +import OPCUAInterfaceSettings from "../components/settingsPageComponents/OPCUAInterfaceSettings"; export default function Settings() { - return
Settings
; + const [activeTab, setActiveTab] = useState("tab1"); + + return ( +
+ {/* Tab-Navigation */} +
+ + +
+ + {/* Tab-Inhalt */} +
+ {activeTab === "tab1" && } + {activeTab === "tab2" && } +
+
+ ); }