import React, { useState } from 'react'; import { useAuth } from '../../contexts/AuthContext'; import { useNavigate, Link } from 'react-router-dom'; const LoginForm: React.FC = () => { const [formData, setFormData] = useState({ username: '', password: '', }); const [error, setError] = useState(''); const [isLoading, setIsLoading] = useState(false); const { login } = useAuth(); const navigate = useNavigate(); const handleChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); // Clear error when user starts typing if (error) setError(''); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); setError(''); if (!formData.username.trim() || !formData.password) { setError('Please fill in all fields'); setIsLoading(false); return; } const result = await login(formData.username, formData.password); if (result.success) { navigate('/dashboard'); } else { setError(result.error || 'Login failed'); } setIsLoading(false); }; return (

Welcome to TCG Vault

Sign in to your account

{error && (
{error}
)}

Don't have an account?{' '} Sign up here

); }; export default LoginForm;