Files
CPLv4.0/components/main/settingsPageComponents/handlers/handleAdminLogin.ts
Ismail Ali ed028d5168 fix: Admin-Login setzt jetzt korrekt isAdminLoggedIn im Redux-Store
- Redux-Dispatch `setAdminLoggedIn(true)` in handleAdminLogin integriert
- Login-Funktion in GeneralSettings.tsx angepasst, um Dispatch weiterzugeben
- Sichtbarkeit von Admin-Funktionen wie Firmware-Update-Button funktioniert jetzt zuverlässig
2025-04-17 19:02:27 +02:00

34 lines
996 B
TypeScript

// components/main/settingsPageComponents/GeneralSettings.tsx
import bcrypt from "bcryptjs";
import { generateToken } from "../utils/cryptoUtils";
import USERS from "../config/users";
import { setAdminLoggedIn } from "../../../../redux/slices/authSlice"; // ✅ Wichtig
const handleAdminLogin = (
username: string,
password: string,
onSuccess: () => void,
onError: (errorMsg: string) => void,
dispatch: any // ✅ neu
) => {
const user = USERS.Admin;
bcrypt.compare(password, user.password, (err, isMatch) => {
if (isMatch) {
const token = generateToken(user);
sessionStorage.setItem("token", token);
localStorage.setItem("isAdminLoggedIn", "true");
dispatch(setAdminLoggedIn(true)); // ✅ Redux-Status setzen
onSuccess();
} else {
dispatch(setAdminLoggedIn(false)); // optional
onError(
"Login fehlgeschlagen. Bitte überprüfen Sie Benutzername und Passwort."
);
}
});
};
export default handleAdminLogin;