"use client"; import React, { useState, useEffect } from "react"; import { RootState } from "../../../redux/store"; import { useSelector } from "react-redux"; import handleReboot from "./handlers/handleReboot"; import handleSetDateTime from "./handlers/handleSetDateTime"; // import { useAdminAuth } from "./hooks/useAdminAuth"; // import handleAdminLogin from "./handlers/handleAdminLogin"; import { useDispatch } from "react-redux"; import { AppDispatch } from "../../../redux/store"; import { getSystemSettingsThunk } from "../../../redux/thunks/getSystemSettingsThunk"; import handleGeneralSubmit from "./handlers/handleGeneralSubmit"; import handleKueFirmwareUpdate from "@/components/main/settingsPageComponents/handlers/handleKueFirmwareUpdate"; import { useAdminAuth } from "@/components/main/settingsPageComponents/hooks/useAdminAuth"; import ProgressModal from "@/components/main/settingsPageComponents/modals/ProgressModal"; import "react-toastify/dist/ReactToastify.css"; const GeneralSettings: React.FC = () => { const dispatch = useDispatch(); const systemSettings = useSelector( (state: RootState) => state.systemSettingsSlice ); const [isUpdating, setIsUpdating] = useState(false); const [progress, setProgress] = useState(0); const { isAdminLoggedIn } = useAdminAuth(true); // const [error, setError] = useState(""); const [name, setName] = useState(systemSettings.deviceName || ""); const [mac1, setMac1] = 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 || "" ); // Add loginSuccess state if you want to use it for feedback // const [loginSuccess, setLoginSuccess] = useState(false); useEffect(() => { if (!systemSettings.deviceName) { dispatch(getSystemSettingsThunk()); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); /* fix: Initialwerte in Allgemeine Einstellungen bei Seitenaufruf setzen - useEffect hinzugefügt, um lokale States mit Redux-Daten zu synchronisieren - Problem behoben, dass Felder beim ersten Laden leer waren */ useEffect(() => { setName(systemSettings.deviceName || ""); setIp(systemSettings.ip || ""); setSubnet(systemSettings.subnet || ""); setGateway(systemSettings.gateway || ""); setSystemUhr(systemSettings.cplInternalTimestamp || ""); setMac1(systemSettings.mac1 || ""); }, [systemSettings]); const inputCls = "border border-base focus:border-accent rounded h-8 p-1 w-full text-xs bg-[var(--color-surface)] text-[var(--color-fg)] placeholder-[var(--color-muted)] transition-colors duration-150 focus:outline-none"; 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)} />
{/* Buttons */}
{isAdminLoggedIn && ( )}
); }; export default GeneralSettings;