import React, { useState } from 'react'; import { Link, useNavigate, useLocation } from 'react-router-dom'; import { Shield, Mail, Lock, Sparkles, ArrowRight, Server } from 'lucide-react'; import { useAuth } from '../context/AuthContext'; import { Button } from '../components/common/Button'; import { Input } from '../components/common/Input'; import { Toast } from '../components/common/Toast'; import { ThemeToggle } from '../components/layout/ThemeToggle'; import { DEMO_USER } from '../services/mockData'; import '../styles/auth.css'; export function Login() { const navigate = useNavigate(); const location = useLocation(); const { login } = useAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [rememberMe, setRememberMe] = useState(true); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); // If redirected with registered email React.useEffect(() => { if (location.state?.registeredEmail) { setEmail(location.state.registeredEmail); } }, [location.state]); const handleSubmit = async (e) => { e.preventDefault(); if (!email.trim() || !password.trim()) { setError('Please provide both email and password.'); return; } try { setLoading(true); setError(null); await login(email, password); navigate('/dashboard'); } catch (err) { console.error('Login error:', err); setError(err.message || 'Failed to authenticate. Please check your credentials.'); } finally { setLoading(false); } }; const handleQuickDemo = async () => { setEmail(DEMO_USER.email); setPassword('admin123'); try { setLoading(true); setError(null); await login(DEMO_USER.email, 'admin123', true); navigate('/dashboard'); } catch (err) { setError(err.message); } finally { setLoading(false); } }; return (
{/* Background Orbs */}
{/* Top bar with Brand and Theme Toggle */}
AuthSec
{/* Header */}

Welcome back

Sign in to your enterprise security console

{/* Demo Credentials Quick-Fill Banner */}
Demo: {DEMO_USER.email}
{/* Error Toast */} {error && setError(null)} />} {/* Login Form */}
setEmail(e.target.value)} icon={Mail} required autoComplete="email" /> setPassword(e.target.value)} icon={Lock} required autoComplete="current-password" />
{/* Bottom Switch to Register */}
Don't have an enterprise account?{' '} Register here
); }