import { useState } from 'react'; import axios from 'axios'; import { useNavigate } from 'react-router-dom'; const API_URL = import.meta.env.VITE_API_URL || 'http://localhost:3000'; function Login({ setToken, setUserRole }) { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const navigate = useNavigate(); const handleLogin = async (e) => { e.preventDefault(); try { const res = await axios.post(`${API_URL}/api/auth/login`, { username, password }); const { token, role, username: user } = res.data; localStorage.setItem('token', token); localStorage.setItem('role', role); localStorage.setItem('username', user); setToken(token); setUserRole(role); if (role === 'ADMIN') { navigate('/admin'); } else { navigate('/user'); } } catch (err) { alert('Login failed: ' + (err.response?.data?.error || err.message)); } }; return (