"use client"; // /components/main/settingsPageComponents/UserManagementSettings.tsx import React, { useState } from "react"; import { useDispatch } from "react-redux"; import { AppDispatch } from "../../../redux/store"; import { useAdminAuth } from "./hooks/useAdminAuth"; import handleAdminLogin from "./handlers/handleAdminLogin"; const UserManagementSettings: React.FC = () => { const dispatch = useDispatch(); const { isAdminLoggedIn, logoutAdmin } = useAdminAuth(true); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [loginSuccess, setLoginSuccess] = useState(false); const [error, setError] = useState(""); const handleLogin = async () => { handleAdminLogin( username, password, () => { setLoginSuccess(true); setError(""); // Speichere die System-Uhrzeit (Login-Zeitpunkt) im localStorage try { localStorage.setItem("adminLoginTime", new Date().toISOString()); } catch { // Ignoriere Speicherfehler (z. B. in Private Mode) } }, (errorMsg) => { setLoginSuccess(false); setError(errorMsg); }, dispatch ); }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter") { handleLogin(); } }; return (

Login Admin-Bereich

{/* Admin Login/Logout */}
{isAdminLoggedIn ? ( ) : ( <>
setUsername(e.target.value)} onKeyDown={handleKeyDown} /> setPassword(e.target.value)} onKeyDown={handleKeyDown} />
)}
{loginSuccess && (

Login erfolgreich!

)} {error &&

{error}

} {/* // Benutzerverwaltungstabelle (kommt später) ...
*/}
); }; export default UserManagementSettings;