'use client'; import IconMail from '@/components/icon/icon-mail'; import { useRouter } from 'next/navigation'; import React, { useState } from 'react'; import axios from 'axios'; import { ApiServerBaseUrl } from '@/utils/baseurl.utils'; interface ResetPasswordFormValues { email: string; } const ComponentsAuthResetPasswordForm: React.FC = () => { const router = useRouter(); const [formData, setFormData] = useState({ email: '' }); const [loading, setLoading] = useState(false); const [err, setErr] = useState(null); const [msg, setMsg] = useState(null); const handleChange = (e: React.ChangeEvent) => { setFormData({ email: e.target.value }); }; const submitForm = async (e: React.FormEvent) => { e.preventDefault(); setErr(null); setMsg(null); if (!formData.email) { setErr('Please enter your email.'); return; } setLoading(true); try { const res = await axios.post(`${ApiServerBaseUrl}/auth/forgot-password`, { email: formData.email, }); setMsg(res.data.message || 'Password reset link sent to your email.'); setFormData({ email: '' }); // Redirect after 2 seconds setTimeout(() => { router.push('/login'); }, 2000); } catch (error: any) { setErr(error.response?.data?.error || 'Something went wrong.'); } finally { setLoading(false); } }; return (
{err && (
{err}
)} {msg && (
{msg}
Redirecting to login...
)}
{/* UPDATED BUTTON WITH LOGIN-PAGE STYLE */}
); }; export default ComponentsAuthResetPasswordForm;