From 140444d046ca34c8fec87866faa50459373a3c95 Mon Sep 17 00:00:00 2001 From: ISA Date: Thu, 14 Nov 2024 15:22:38 +0100 Subject: [PATCH] feat: Toggle "Admin anmelden" to "Admin abmelden" based on admin login status - Implemented dynamic button label in SettingsModal to display "Admin anmelden" or "Admin abmelden" based on Redux state `isAdminLoggedIn`. - Added `handleAdminLogout` function to clear token from localStorage and update Redux state when admin logs out. - Refactored button click handling to toggle login/logout functionality seamlessly. --- components/modales/settingsModal/SettingsModal.jsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/components/modales/settingsModal/SettingsModal.jsx b/components/modales/settingsModal/SettingsModal.jsx index a8a3953..244b160 100644 --- a/components/modales/settingsModal/SettingsModal.jsx +++ b/components/modales/settingsModal/SettingsModal.jsx @@ -29,6 +29,7 @@ function generateToken(user) { } function SettingModal({ showModal, onClose }) { + const isAdminLoggedIn = useSelector((state) => state.auth.isAdminLoggedIn); const dispatch = useDispatch(); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); @@ -47,7 +48,6 @@ function SettingModal({ showModal, onClose }) { const token = generateToken(user); localStorage.setItem("token", token); dispatch(setAdminLoggedIn(true)); - setIsLoggedIn(true); setShowLoginForm(false); onClose(); } else { @@ -94,6 +94,10 @@ function SettingModal({ showModal, onClose }) { ntpTimezone, active, }; + const handleAdminLogout = () => { + localStorage.removeItem("token"); // Remove token on logout + dispatch(setAdminLoggedIn(false)); // Update Redux state + }; useEffect(() => { if (showModal) { @@ -378,10 +382,14 @@ function SettingModal({ showModal, onClose }) { Neustart CPL