import { Alert, Box, Button, Container, Paper, TextField, Typography } from '@mui/material'; import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '../../contexts/AuthContext'; import { GrantType } from '../../enums'; import { AppleLogin } from './AppleLogin'; import { GoogleLogin } from './GoogleLogin'; export const LoginForm = () => { const { login } = useAuth(); const navigate = useNavigate(); const [formData, setFormData] = useState({ email: '', password: '', }); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setLoading(true); try { await login({ email: formData.email, password: formData.password, grantType: GrantType.PASSWORD }); navigate('/dashboard'); } catch (err) { setError(err instanceof Error ? err.message : 'Login failed. Please check your credentials.'); } finally { setLoading(false); } }; const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value, })); }; return ( Zod Alkhair | API TEST login to your account. {error && ( {error} )} ); };