import React, { useState } from 'react'; import { useNavigate, Link } from 'react-router-dom'; import { useAuth } from '../context/AuthContext'; import { Button } from '../components/ui/button'; import { Input } from '../components/ui/input'; import { PasswordInput } from '../components/ui/password-input'; import { Label } from '../components/ui/label'; import { Card } from '../components/ui/card'; import { toast } from 'sonner'; import PublicNavbar from '../components/PublicNavbar'; import PublicFooter from '../components/PublicFooter'; import { ArrowRight, ArrowLeft } from 'lucide-react'; const Login = () => { const navigate = useNavigate(); const { login } = useAuth(); const [loading, setLoading] = useState(false); const [formData, setFormData] = useState({ email: '', password: '' }); const handleInputChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = async (e) => { e.preventDefault(); setLoading(true); try { const user = await login(formData.email, formData.password); toast.success('Login successful!'); // Check if password change is required if (user.force_password_change) { toast.warning('You must change your password before continuing', { duration: 5000 }); navigate('/change-password-required'); return; } if (user.role === 'admin' || user.role === 'superadmin') { navigate('/admin'); } else { navigate('/dashboard'); } } catch (error) { toast.error(error.response?.data?.detail || 'Login failed. Please check your credentials.'); } finally { setLoading(false); } }; return (
Back to Home

Welcome Back

Login to access your member dashboard.

Forgot password?

Don't have an account?{' '} Register here

); }; export default Login;