import React, { useState } from 'react'; import axios from 'axios'; import { useAuth } from '../AuthContext'; import { useNavigate, Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { Tooltip } from '../components/Tooltip'; import { GoogleLogin } from '@react-oauth/google'; export default function Login() { const { t } = useTranslation(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const { login } = useAuth(); const navigate = useNavigate(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { const res = await axios.post('/api/auth/login', { email, password }); login(res.data.token, res.data.user); navigate('/'); } catch (err: any) { setError(err.response?.data?.error || 'Login failed'); } }; return (

{t('buttons.login')}

{error &&
{error}
}
setEmail(e.target.value)} required />
setPassword(e.target.value)} required />
Or continue with
{ try { const res = await axios.post('/api/auth/google', { credential: credentialResponse.credential }); login(res.data.token, res.data.user); navigate('/'); } catch (err) { setError('Google Login Failed'); } }} onError={() => setError('Google Login Failed')} />

Don't have an account? Sign up

); }