import { useState, type FormEvent } from 'react'; import { useNavigate } from 'react-router-dom'; import './Login.css'; export default function Login() { const [password, setPassword] = useState(''); const [error, setError] = useState(''); const navigate = useNavigate(); const handleSubmit = async (e: FormEvent) => { e.preventDefault(); setError(''); try { // Use URLSearchParams to send as form-urlencoded, matching backend expectation const params = new URLSearchParams(); params.append('password', password); const res = await fetch('/api/login', { method: 'POST', body: params, }); if (res.ok) { navigate('/'); } else { const data = await res.json(); setError(data.message || 'Login failed'); } } catch (err) { setError('Network error'); } }; return (