// pages/index.js import Image from "next/image"; import { useState } from "react"; import { useRouter } from "next/router"; const USERS = { Admin: { username: "admin", password: "admin", role: "Admin" }, Ismail: { username: "ismail", password: "ismailpasswort", role: "Admin" }, }; function generateToken(user) { const payload = { username: user.username, role: user.role, exp: Date.now() + 5 * 60 * 1000, // Ablauf in 5 Minuten }; return btoa(JSON.stringify(payload)); // Verwende btoa für das Payload } export default function Home() { const router = useRouter(); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const handleLogin = (e) => { e.preventDefault(); const user = Object.values(USERS).find( (u) => u.username.toLowerCase() === username.toLowerCase() ); if (user && user.password === password) { const token = generateToken(user); localStorage.setItem("token", token); router.replace("/dashboard"); } else { setError("Login fehlgeschlagen"); } }; return (
{/* Hintergrundbild */}
{/* Overlay */}
{/* Logo */}
Littwin Logo
{/* Titel */}

Willkommen

{/* Formular */}
{/* Benutzername */}
setUsername(e.target.value)} className="w-full px-2 py-1 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-transparent" />
{/* Passwort */}
setPassword(e.target.value)} className="w-full px-2 py-1 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-transparent" />
{/* Login Button */}
{error &&

{error}

}
); }