import React, { useState } from 'react'; import './Login.css'; export default function Login({ onLoginSuccess }) { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e) => { e.preventDefault(); setLoading(true); setError(''); try { const formData = new FormData(); formData.append('username', username); formData.append('password', password); const response = await fetch('api/login', { method: 'POST', body: formData, }); if (response.ok) { const data = await response.json(); localStorage.setItem('access_token', data.access_token); onLoginSuccess(); } else { setError('Invalid username or password'); } } catch (error) { setError('Login failed. Please try again.'); } finally { setLoading(false); } }; return (