import React, { useState } from "react"; import { TextField, Button, Typography, Box, Link as MuiLink, } from "@mui/material"; import { useNavigate, Link } from "react-router-dom"; import toast from "react-hot-toast"; import axiosInstance from "../../api/axiosInstance"; const ForgotPasswordForm = () => { const navigate = useNavigate(); const [mobile, setMobile] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const handleChange = (e) => { const value = e.target.value; // Allow only numbers if (/^\d*$/.test(value)) { setMobile(value); if (error) setError(""); } }; const handleSubmit = async (e) => { e.preventDefault(); if (!mobile) { setError("Mobile number is required"); return; } if (mobile.length !== 10) { setError("Enter a valid 10-digit mobile number"); return; } setLoading(true); try { // API call with query parameter as requested const response = await axiosInstance.post(`/forgot_password_send_otp?mobile=${mobile}`); const successMessage = response.data?.message || "OTP sent successfully!"; toast.success(successMessage); // Optional: Navigate to verify OTP page if needed // navigate('/verify-otp', { state: { mobile } }); } catch (err) { console.error("Forgot password error:", err); const errorMessage = err.response?.data?.message || err.response?.data?.error || "Failed to send OTP. Please try again."; toast.error(errorMessage); } finally { setLoading(false); } }; return (
Forgot Password Enter your mobile number to receive an OTP
Remember your password?{" "} Login
); }; export default ForgotPasswordForm;