"use client"; import { useState, useEffect } from "react"; import ReCAPTCHA from "react-google-recaptcha"; import axios from "axios"; import Link from "next/link"; import { servicesList } from "@/utils/Services.utils"; export default function ContactClient() { const [formData, setFormData] = useState({ username: "", email: "", phone: "", service: "", message: "", }); const [formErrors, setFormErrors] = useState({}); const [captchaToken, setCaptchaToken] = useState(null); const [alert, setAlert] = useState({ show: false, type: "", message: "" }); const handleChange = (e) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); }; const handleCaptchaChange = (token) => { setCaptchaToken(token); }; const handleSubmit = async (e) => { e.preventDefault(); const errors = {}; if (!formData.username.trim()) errors.username = "Name is required."; if (!formData.email.trim()) errors.email = "Email is required."; if (!formData.phone.trim()) errors.phone = "Phone is required."; if (!formData.service.trim()) errors.service = "Please select a service."; if (!formData.message.trim()) errors.message = "Message is required."; // if (!captchaToken) errors.captcha = "Please verify the CAPTCHA."; setFormErrors(errors); if (Object.keys(errors).length > 0) return; const emailData = { name: formData.username, phone: formData.phone, email: formData.email, subject: formData.service, message: `Service: ${formData.service}

Message: ${formData.message}`, to: "bloor@rapharehab.ca", senderName: "Rapha Rehab Contact Page", recaptchaToken: captchaToken, }; try { const res = await axios.post( "https://mailserver.metatronnest.com/send", emailData, { headers: { "Content-Type": "application/json" } } ); setAlert({ show: true, type: "success", message: res?.data?.message || "Message sent successfully!", }); setFormData({ username: "", email: "", phone: "", service: "", message: "" }); setCaptchaToken(null); setFormErrors({}); } catch (error) { setAlert({ show: true, type: "danger", message: "Failed to send message. Please try again later.", }); } }; useEffect(() => { if (alert.show) { const timer = setTimeout(() => { setAlert((prev) => ({ ...prev, show: false })); }, 5000); return () => clearTimeout(timer); } }, [alert.show]); return (
{/*

Quick Contact

+647-722-3434
+416-622-2873

Email Address

bloor@rapharehab.ca

Mailing Address

5 – 4335 Bloor Street West
Etobicoke, M9C 2A5

*/}

How can we help?

Please complete the contact information below and let us know your needs. Upon receipt of your information one of our team members will reach out.

{alert.show && (
{alert.message}
)}
{formErrors.username && {formErrors.username}}
{formErrors.phone && {formErrors.phone}}
{formErrors.email && {formErrors.email}}
{formErrors.service && {formErrors.service}}
{formErrors.message && {formErrors.message}}
{formErrors.captcha && {formErrors.captcha}}
Physiotherapy at Rapharehab
{/*