"use client"; import Image from "next/image" import { useState } from "react"; import { useRouter } from "next/navigation"; import axios from "axios"; import Cookies from "js-cookie"; import ErrorToast from "@/components/Error"; import { Eye, EyeClosed, Lock, Mail } from "lucide-react"; export default function LoginPage() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [remember, setRemember] = useState(false); const [showPassword, setShowPassword] = useState(false); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(""); const router = useRouter(); const login = async () => { if (!email || !password) { setError("Please enter both email and password"); return; } setIsLoading(true); try { const response = await axios.post("/api/user/login", { email, password, remember }); if (response.status === 200) { const token = response.data.token; if (token) { Cookies.set("token", token); router.push("/dashboard"); } else { setError("No login token received"); } } } catch (error: any) { setError(error.response?.data?.error || "Login failed"); } finally { setIsLoading(false); } }; const handleKeyPress = (e: React.KeyboardEvent) => { if (e.key === 'Enter') { login(); } }; return (
Core Logo

Welcome back

Please login with your account

Email
Password
Login Illustration
Login Illustration
setError("")} />
); }