'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'; const ComponentsAuthLoginForm = () => { const router = useRouter(); // ✅ Form state as object const [formData, setFormData] = useState({ email: '', password: '', subscribe: false, }); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); // ✅ Handle input changes const handleChange = (e: React.ChangeEvent) => { const { name, value, type, checked } = e.target; setFormData((prev) => ({ ...prev, [name]: type === 'checkbox' ? checked : value, })); }; // ✅ Submit form with Axios const submitForm = async (e: React.FormEvent) => { e.preventDefault(); setError(null); setLoading(true); try { const res = await axios.post('https://api.crawlerx.co/api/auth/login', formData); // ✅ Assuming backend returns token const data = res.data; console.log('Login success:', data); localStorage.setItem('token', data.token); router.push('/'); } catch (err: any) { if (err.response) { setError(err.response.data.error || 'Login failed'); } else { setError(err.message); } } finally { setLoading(false); } }; return (
{error &&

{error}

}
); }; export default ComponentsAuthLoginForm;