Admi-Modus noch nicht fertig
This commit is contained in:
@@ -4,12 +4,13 @@ import Image from "next/image";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import "bootstrap-icons/font/bootstrap-icons.css";
|
import "bootstrap-icons/font/bootstrap-icons.css";
|
||||||
import SettingsModal from "./modales/settingsModal/SettingsModal";
|
import SettingsModal from "./modales/settingsModal/SettingsModal";
|
||||||
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
function Header() {
|
function Header() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [showSettingsModal, setShowSettingsModal] = useState(false);
|
const [showSettingsModal, setShowSettingsModal] = useState(false);
|
||||||
const [isAdminLoggedIn, setIsAdminLoggedIn] = useState(false); // Lokaler Zustand
|
const [isAdminLoggedIn, setIsAdminLoggedIn] = useState(false); // Lokaler Zustand
|
||||||
const deviceName = "Station XY"; // Dummy-Daten, da Redux entfernt wurde
|
const deviceName = useSelector((state) => state.variables.deviceName);
|
||||||
|
|
||||||
const handleSettingsClick = () => setShowSettingsModal(true);
|
const handleSettingsClick = () => setShowSettingsModal(true);
|
||||||
const handleCloseSettingsModal = () => setShowSettingsModal(false);
|
const handleCloseSettingsModal = () => setShowSettingsModal(false);
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ import handleReboot from "./handlers/handleReboot";
|
|||||||
import handleSetDateTime from "./handlers/handleSetDateTime";
|
import handleSetDateTime from "./handlers/handleSetDateTime";
|
||||||
import handleSubmit from "./handlers/handleSubmit";
|
import handleSubmit from "./handlers/handleSubmit";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { setAdminLoggedIn } from "../../../store/authSlice";
|
|
||||||
import { useDispatch } from "react-redux";
|
|
||||||
import bcrypt from "bcryptjs";
|
import bcrypt from "bcryptjs";
|
||||||
|
|
||||||
ReactModal.setAppElement("#__next");
|
ReactModal.setAppElement("#__next");
|
||||||
@@ -33,12 +32,12 @@ function generateToken(user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function SettingModal({ showModal, onClose }) {
|
function SettingModal({ showModal, onClose }) {
|
||||||
const isAdminLoggedIn = useSelector((state) => state.auth.isAdminLoggedIn);
|
const [isAdminLoggedIn, setAdminLoggedIn] = useState(false);
|
||||||
const dispatch = useDispatch();
|
//const isAdminLoggedIn = sessionStorage.getItem("token");
|
||||||
|
|
||||||
const [username, setUsername] = useState("");
|
const [username, setUsername] = useState("");
|
||||||
const [password, setPassword] = useState("");
|
const [password, setPassword] = useState("");
|
||||||
const [error, setError] = useState("");
|
const [error, setError] = useState("");
|
||||||
const [isLoggedIn, setIsLoggedIn] = useState(false);
|
|
||||||
const [showLoginForm, setShowLoginForm] = useState(false); // Zustand für Login-Formular
|
const [showLoginForm, setShowLoginForm] = useState(false); // Zustand für Login-Formular
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
@@ -49,7 +48,7 @@ function SettingModal({ showModal, onClose }) {
|
|||||||
if (isMatch) {
|
if (isMatch) {
|
||||||
const token = generateToken(user);
|
const token = generateToken(user);
|
||||||
sessionStorage.setItem("token", token); // Speichere Token in SessionStorage
|
sessionStorage.setItem("token", token); // Speichere Token in SessionStorage
|
||||||
dispatch(setAdminLoggedIn(true));
|
|
||||||
setShowLoginForm(false);
|
setShowLoginForm(false);
|
||||||
onClose();
|
onClose();
|
||||||
} else {
|
} else {
|
||||||
@@ -99,7 +98,6 @@ function SettingModal({ showModal, onClose }) {
|
|||||||
};
|
};
|
||||||
const handleAdminLogout = () => {
|
const handleAdminLogout = () => {
|
||||||
localStorage.removeItem("token"); // Remove token on logout
|
localStorage.removeItem("token"); // Remove token on logout
|
||||||
dispatch(setAdminLoggedIn(false)); // Update Redux state
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -143,13 +141,14 @@ function SettingModal({ showModal, onClose }) {
|
|||||||
]);
|
]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Check if a valid token exists in localStorage
|
// Check if a valid token exists in localStorage
|
||||||
const token = localStorage.getItem("token");
|
const token = sessionStorage.getItem("token");
|
||||||
if (token) {
|
if (token) {
|
||||||
|
setAdminLoggedIn(true);
|
||||||
const { exp } = JSON.parse(atob(token));
|
const { exp } = JSON.parse(atob(token));
|
||||||
if (Date.now() < exp) {
|
if (Date.now() < exp) {
|
||||||
setIsLoggedIn(true);
|
setAdminLoggedIn(true);
|
||||||
} else {
|
} else {
|
||||||
localStorage.removeItem("token"); // Remove expired token
|
// localStorage.removeItem("token"); // Remove expired token
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
Reference in New Issue
Block a user