import React, { useState } from 'react'; import { useNavigate, Link } from 'react-router-dom'; import { useAuth } from '../contexts/AuthContext'; import { Box, Typography, Container, IconButton, CircularProgress, Fade } from '@mui/material'; import { Email as EmailIcon, Lock as LockIcon, Visibility, VisibilityOff, ArrowForward, Diamond as DiamondIcon } from '@mui/icons-material'; const Login = () => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [showPassword, setShowPassword] = useState(false); const [rememberMe, setRememberMe] = useState(false); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const { login } = useAuth(); const navigate = useNavigate(); // Load remembered email on mount React.useEffect(() => { const savedEmail = localStorage.getItem('rememberedEmail'); if (savedEmail) { setEmail(savedEmail); setRememberMe(true); } }, []); const handleSubmit = async (e) => { e.preventDefault(); setError(''); setLoading(true); try { await login(email, password); // Save or remove email based on Remember Me if (rememberMe) { localStorage.setItem('rememberedEmail', email); } else { localStorage.removeItem('rememberedEmail'); } navigate('/dashboard'); } catch (err) { setError('Invalid email or password'); } finally { setLoading(false); } }; return ( {/* Animated Background */}
{/* Logo / Header */} MEXAR Ultimate Enter your credentials to access the ultimate reasoning engine {/* Form */}
{/* Email Input */} EMAIL ADDRESS setEmail(e.target.value)} required /> {/* Password Input */} PASSWORD setPassword(e.target.value)} required /> setShowPassword(!showPassword)} sx={{ position: 'absolute', right: 8, top: 8, color: 'text.secondary' }} size="small" > {showPassword ? : } {/* Remember Me & Forgot Password */} setRememberMe(!rememberMe)} > {rememberMe && ( )} Remember me Forgot password? {/* Error Message */} {error && ( ⚠️ {error} )} {/* Submit Button */}
{/* Footer */} New here? {' '} Create an account
); }; export default Login;