// components/LoginForm.js "use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { Input } from "@nextui-org/react"; import Link from "next/link"; import SubmitButton from "./SubmitButton"; // Neuen Button importieren export default function LoginForm() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const handleSubmit = async (e) => { e.preventDefault(); setError(null); setIsLoading(true); try { const response = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ username, password }), credentials: "include", }); const data = await response.json(); if (response.ok && data.redirectUrl) { router.push(data.redirectUrl); } else { setError(data.error || "Login failed. Please try again."); } } catch (err) { setError("An error occurred. Please try again later."); console.error("Fetch error:", err); } finally { setIsLoading(false); } }; return (
); }