typescript import React, { useState } from 'react' import { useNavigate } from 'react-router-dom' import { useAuth } from '../contexts/AuthContext' import { useToast } from '../contexts/ToastContext' import { Server, Mail, Lock, Loader } from 'lucide-react' const Login: React.FC = () => { const [email, setEmail] = useState('') const [password, setPassword] = useState('') const [rememberMe, setRememberMe] = useState(false) const { login, isLoading } = useAuth() const { addToast } = useToast() const navigate = useNavigate() const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() try { await login(email, password) addToast({ type: 'success', title: 'Welcome back!', message: 'Successfully logged in.' }) navigate('/') } catch (error) { addToast({ type: 'error', title: 'Login failed', message: 'Invalid email or password.' }) } } return (
{/* Logo */}

MapIT

IT Infrastructure Documentation Platform

{/* Login Form */}
{/* Email Field */}
setEmail(e.target.value)} className="input-field pl-10" placeholder="Email address" />
{/* Password Field */}
setPassword(e.target.value)} className="input-field pl-10" placeholder="Password" />
{/* Remember Me & Forgot Password */}
setRememberMe(e.target.checked)} className="h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded" />
{/* Submit Button */} {/* Divider */}
Or continue with
{/* SSO Options */}
) } export default Login