diff --git a/inventory/src/pages/Login.tsx b/inventory/src/pages/Login.tsx index cc588ab..fe8c9f0 100644 --- a/inventory/src/pages/Login.tsx +++ b/inventory/src/pages/Login.tsx @@ -4,24 +4,26 @@ import { Button } from '@/components/ui/button'; import { Card, CardContent, - CardDescription, - CardFooter, CardHeader, CardTitle, } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; -import { Label } from '@/components/ui/label'; import { toast } from 'sonner'; import config from '../config'; +import { Loader2, Box } from 'lucide-react'; const isDev = process.env.NODE_ENV === 'development'; export function Login() { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); + const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); - const handleLogin = async () => { + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setIsLoading(true); + try { const url = isDev ? "/auth-inv/login" : `${config.authUrl}/login`; console.log('Making login request:', { @@ -56,6 +58,7 @@ export function Login() { sessionStorage.setItem('token', data.token); sessionStorage.setItem('isLoggedIn', 'true'); + toast.success('Successfully logged in'); navigate('/'); } catch (error) { console.error('Login error:', error); @@ -64,45 +67,64 @@ export function Login() { ? error.message : 'An unexpected error occurred', ); + } finally { + setIsLoading(false); } }; return ( -