import { useState } from 'react'; import axios from 'axios'; import { Lock, User } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import LanguageSelector from '../components/LanguageSelector'; const API_URL = import.meta.env.VITE_API_URL || 'http://localhost:3000'; function Login({ setToken, setUserRole, setUsername }) { const { t } = useTranslation(); const [formData, setFormData] = useState({ username: '', password: '' }); const [error, setError] = useState(''); const handleSubmit = async (e) => { e.preventDefault(); try { const res = await axios.post(`${API_URL}/api/auth/login`, formData); localStorage.setItem('token', res.data.token); localStorage.setItem('role', res.data.role); localStorage.setItem('username', res.data.username); setToken(res.data.token); setUserRole(res.data.role); setUsername(res.data.username); } catch (err) { setError(err.response?.data?.error || 'Login failed'); } }; return (

{t('title')}

{t('login_subtitle')}

{error && (
{error}
)}
setFormData({ ...formData, username: e.target.value })} />
setFormData({ ...formData, password: e.target.value })} />
); } export default Login;