import { useState } from "react"; import { useNavigate } from "react-router"; import { LogIn, Loader2 } from "lucide-react"; import { login } from "../../services/api"; export default function Login() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setError(""); if (!email || !password) { setError("Please enter both email and password"); return; } if (!/\S+@\S+\.\S+/.test(email)) { setError("Please enter a valid email address"); return; } setIsLoading(true); try { const res = await login(email, password); const user = { user_id: res.data.id, email: res.data.email, name: res.data.fullname, loginTime: new Date().toISOString(), }; localStorage.setItem("chatbot_user", JSON.stringify(user)); navigate("/"); } catch (err: unknown) { setError(err instanceof Error ? err.message : "Login failed"); } finally { setIsLoading(false); } }; return (
Sign in to continue to your chatbot