'use client'; import IconLockDots from '@/components/icon/icon-lock-dots'; import IconMail from '@/components/icon/icon-mail'; import { useRouter } from 'next/navigation'; import React, { useState } from 'react'; import axios from 'axios'; import Link from 'next/link'; import { Eye, EyeOff } from 'lucide-react'; import { FcGoogle } from 'react-icons/fc'; import { ApiServerBaseUrl } from '@/utils/baseurl.utils'; const ComponentsAuthLoginForm = () => { const router = useRouter(); const [formData, setFormData] = useState({ email: '', password: '', }); const [loading, setLoading] = useState(false); const [err, setErr] = useState(null); const [showPassword, setShowPassword] = useState(false); const handleChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); }; const submitForm = async (e: React.FormEvent) => { e.preventDefault(); setErr(null); if (!formData.email || !formData.password) { setErr('Please enter email and password.'); return; } setLoading(true); try { const res = await axios.post(`${ApiServerBaseUrl}/auth/login`, formData); const data = res.data; localStorage.setItem('token', data.token); if (data?.user) { localStorage.setItem("userDetails", JSON.stringify(data?.user)) localStorage.setItem('user_email', data?.user?.email); localStorage.setItem('userId', data?.user?.id); } if (data?.payment) { localStorage.setItem('paymentDetails', JSON.stringify(data.payment)); data?.payment?.sessionId && localStorage.setItem('payment_session', data.payment.sessionId); } router.push('/'); } catch (err: any) { setErr(err.response?.data?.error || 'Login failed'); } finally { setLoading(false); } }; return (
{err && (
{err}
)}
{/* Logo */}
Logo

Sign in to SocialBuddy

{/* Email */}
{/* Password */}
{/* Forgot password */}
Forgot Password?
{/* Login button */} {/* Divider */}
or
{/* Google Sign-in */}
Continue with Google
{/* Footer */}
Don’t have an account?{' '} SIGN UP
); }; export default ComponentsAuthLoginForm;