import { useState } from 'react'; import { useNavigate, Link } from 'react-router-dom'; import { useApp } from '../context/AppContext'; import { useApi } from '../hooks/useApi'; import { User } from '../types'; export default function Login() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const navigate = useNavigate(); const { login } = useApp(); const { login: loginApi } = useApi(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setLoading(true); try { const response = await loginApi(email, password); // Convert UserData to User type const user: User = { id: parseInt(response.user.id), username: response.user.username, email: response.user.email, }; login(user, response.token); navigate('/'); } catch (err) { setError(err instanceof Error ? err.message : 'Login failed. Please try again.'); } finally { setLoading(false); } }; return (
Don't have an account? Register