"use client"; import React, { useState, useEffect } from "react"; import { RootState } from "../../../redux/store"; import { useSelector } from "react-redux"; import handleClearDatabase from "./handlers/handleClearDatabase"; import handleReboot from "./handlers/handleReboot"; import handleSetDateTime from "./handlers/handleSetDateTime"; import handleSubmit from "./handlers/handleSubmit"; import { useAdminAuth } from "./hooks/useAdminAuth"; import handleAdminLogin from "./handlers/handleAdminLogin"; import { useDispatch } from "react-redux"; import { AppDispatch } from "../../../redux/store"; import { fetchSystemSettingsThunk } from "../../../redux/thunks/fetchSystemSettingsThunk"; const GeneralSettings: React.FC = () => { const dispatch = useDispatch(); const systemSettings = useSelector( (state: RootState) => state.systemSettingsSlice ); const { isAdminLoggedIn, logoutAdmin } = useAdminAuth(true); const [loginSuccess, setLoginSuccess] = useState(false); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [name, setName] = useState(systemSettings.deviceName || ""); const [mac1] = useState(systemSettings.mac1 || ""); const [ip, setIp] = useState(systemSettings.ip || ""); const [subnet, setSubnet] = useState(systemSettings.subnet || ""); const [gateway, setGateway] = useState(systemSettings.gateway || ""); const [systemUhr, setSystemUhr] = useState( systemSettings.cplInternalTimestamp || "" ); const [ntp1, setNtp1] = useState(systemSettings.ntp1 || ""); const [ntp2, setNtp2] = useState(systemSettings.ntp2 || ""); const [ntp3, setNtp3] = useState(systemSettings.ntp3 || ""); const [ntpTimezone, setNtpTimezone] = useState( systemSettings.ntpTimezone || "" ); const [active, setActive] = useState(systemSettings.ntpActive || false); const handleLogin = async () => { handleAdminLogin( username, password, () => { setLoginSuccess(true); setError(""); }, (errorMsg) => { setLoginSuccess(false); setError(errorMsg); }, dispatch ); }; useEffect(() => { if (!systemSettings.deviceName) { dispatch(fetchSystemSettingsThunk()); } }, []); return (

Allgemeine Einstellungen

{/* Geräte-Name */}
setName(e.target.value)} />
{/* MAC Adresse */}
{/* Systemzeit */}
{/* Netzwerk */}
setIp(e.target.value)} />
setSubnet(e.target.value)} />
setGateway(e.target.value)} />
{/* NTP */}
setNtp1(e.target.value)} />
setNtp2(e.target.value)} />
setNtp3(e.target.value)} />
setNtpTimezone(e.target.value)} />
setActive(e.target.checked)} />
{/* Admin Login */}
{isAdminLoggedIn ? ( ) : ( <> setUsername(e.target.value)} /> setPassword(e.target.value)} /> )}
{/* Feedback */} {loginSuccess && (

Login erfolgreich!

)} {error &&

{error}

} {/* Buttons */}
); }; export default GeneralSettings;