import { useState, type FormEvent, type ChangeEvent } from "react"; import { useNavigate, useLocation, Link } from "react-router-dom"; import { useAuth } from "../contexts/AuthContext"; import styles from "./LoginPage.module.css"; export default function LoginPage() { const navigate = useNavigate(); const location = useLocation(); const { state, login, clearError } = useAuth(); const successMessage = (location.state as { message?: string } | null) ?.message; const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const handleSubmit = async (e: FormEvent) => { e.preventDefault(); clearError(); try { await login({ email, password }); navigate("/"); } catch { // error is captured in state.error via context } }; const handleEmailChange = (e: ChangeEvent) => { setEmail(e.target.value); }; const handlePasswordChange = (e: ChangeEvent) => { setPassword(e.target.value); }; return (

Sign In

Welcome back to Job Tracker

{state.error &&
{state.error}
} {successMessage &&
{successMessage}
}

Don't have an account?{" "} Create one

); }