feat: Redux zur Verwaltung des Admin-Status hinzugefügt

- Neuen Redux-Slice 'authSlice' erstellt, um den Admin-Login-Status zu verwalten.
- Token-Verwaltung im SettingsModal angepasst, um Redux-Status zu aktualisieren.
- Admin-Warnhinweis im Header zeigt jetzt den Redux-Status an und aktualisiert sich automatisch.
- Abmeldefunktion verbessert, um Token aus dem Redux-Store zu entfernen und Seite zu aktualisieren.
This commit is contained in:
ISA
2024-11-14 14:29:47 +01:00
parent c0ffbbcf38
commit 885cb19e9c
4 changed files with 56 additions and 4 deletions

View File

@@ -9,6 +9,8 @@ import handleReboot from "./handlers/handleReboot";
import handleSetDateTime from "./handlers/handleSetDateTime";
import handleSubmit from "./handlers/handleSubmit";
import { useRouter } from "next/router";
import { setAdminLoggedIn } from "../../../store/authSlice";
import { useDispatch } from "react-redux";
ReactModal.setAppElement("#__next");
@@ -27,6 +29,7 @@ function generateToken(user) {
}
function SettingModal({ showModal, onClose }) {
const dispatch = useDispatch();
const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
const [error, setError] = useState("");
@@ -43,8 +46,10 @@ function SettingModal({ showModal, onClose }) {
if (user) {
const token = generateToken(user);
localStorage.setItem("token", token);
dispatch(setAdminLoggedIn(true));
setIsLoggedIn(true);
setShowLoginForm(false);
onClose();
} else {
setError(
"Login fehlgeschlagen. Bitte überprüfen Sie Benutzername und Passwort."