import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { useAuth } from "../contexts/AuthContext"; export default function LoginPage() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const navigate = useNavigate(); const { login } = useAuth(); const handleSubmit = async (e) => { e.preventDefault(); setError(""); try { const res = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, password }), }); const data = await res.json(); if (!res.ok) throw new Error(data.error || "Login failed"); login(data.token); // store token & user in context navigate("/"); // redirect on success } catch (err) { setError(err.message); } }; return (

Sign In

{error &&

{error}

}
); }