{"version":3,"file":"static/js/114.ed0e46bb.chunk.js","mappings":"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","sources":["component/heading.tsx","pages/contact/index.tsx"],"sourcesContent":["import { Typography } from \"@mui/material\";\nimport { Box, Container } from \"@mui/system\";\nimport React from \"react\";\nimport { IMAGES } from \"../assets/images\";\n\ninterface HeadingProps {\n title: string;\n description?: string | React.ReactNode;\n}\n\nconst Heading: React.FC = ({ title, description }) => {\n return (\n \n \n \n {title}\n {description && (\n \n {description}\n \n )}\n \n \n \n );\n};\n\nexport default Heading;\n","import React, { useEffect, useState } from \"react\";\nimport Heading from \"../../component/heading\";\nimport { Box, Container } from \"@mui/system\";\nimport { Button, Grid, Typography } from \"@mui/material\";\nimport Input from \"../../component/input\";\nimport PhoneInput from \"react-phone-input-2\";\nimport Swal from \"sweetalert2\";\nimport { useNavigate } from \"react-router-dom\";\nimport Services from \"../../api/services\";\n\ninterface ContactProps {\n name: string;\n email: string;\n countryCode: string;\n mobile: string;\n subject: string;\n message: string;\n phoneNumber: string;\n}\nconst Contact: React.FC = () => {\n const navigate = useNavigate();\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [errors, setErrors] = useState>({});\n const [formData, setFormData] = useState({\n name: \"\",\n email: \"\",\n countryCode: \"\",\n mobile: \"\",\n subject: \"\",\n message: \"\",\n phoneNumber: \"\",\n });\n\n const validateForm = () => {\n const newErrors: Partial = {};\n if (!formData.name.trim()) {\n newErrors.name = \"Name is required\";\n }\n\n if (!formData.email.trim()) {\n newErrors.email = \"Email is required\";\n } else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(formData.email)) {\n newErrors.email = \"Invalid email address\";\n }\n\n if (!formData.mobile.trim()) {\n newErrors.mobile = \"Phone number is required\";\n } else if (formData.mobile.length < 11) {\n newErrors.mobile = \"Phone number must be valid\";\n }\n\n if (!formData.subject.trim()) {\n newErrors.subject = \"Subject is required\";\n }\n\n if (!formData.message.trim()) {\n newErrors.message = \"Message is required\";\n }\n\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0; // Return true if there are no errors\n };\n\n const handleInputChange = (\n e: React.ChangeEvent\n ) => {\n const { name, value } = e.target;\n setFormData((prevData) => ({ ...prevData, [name]: value }));\n setErrors((prevErrors) => ({ ...prevErrors, [name]: \"\" }));\n };\n\n const handlePhoneChange = (\n value: string,\n country: string,\n event: React.ChangeEvent,\n formattedValue: string\n ) => {\n setFormData((prevData) => ({ ...prevData, mobile: formattedValue }));\n\n const phoneNumberArray = formattedValue.split(\" \");\n const countryCode = phoneNumberArray[0];\n const phoneNum = phoneNumberArray.slice(1).join(\" \");\n const phoneNumber = phoneNum.replace(/[^\\d]/g, \"\");\n\n setFormData((prevData) => ({ ...prevData, countryCode, phoneNumber }));\n setErrors((prevErrors) => ({ ...prevErrors, mobile: \"\" }));\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n if (validateForm()) {\n setIsSubmitted(true);\n const data = {\n name: formData.name,\n email: formData.email,\n phoneExt: formData.countryCode,\n phoneNo: formData.phoneNumber,\n subject: formData.subject,\n message: formData.message,\n };\n\n try {\n const response = await Services.home.postContactUs(data);\n\n if (response) {\n Swal.fire({\n title: \"Thank you for contacting us\",\n text: \"We will reach out to you with a Helping Hand very soon.\",\n icon: \"success\",\n confirmButtonColor: \"#11b4f5\",\n }).then((result) => {\n if (result.isConfirmed) {\n navigate(\"/\");\n }\n });\n }\n } catch (error: any) {\n console.log(\"error\", error);\n if (\n error.response &&\n error.response.data &&\n error.response.data.errors\n ) {\n Swal.fire({\n title: \"Error!\",\n text: `${error.response.data.errors}`,\n icon: \"error\",\n confirmButtonColor: \"#11b4f5\",\n }).then((result) => {\n if (result.isConfirmed) {\n navigate(\"/contact-us\");\n }\n });\n } else {\n Swal.fire({\n title: \"Error!\",\n text: \"An unexpected error occurred.\",\n icon: \"error\",\n confirmButtonColor: \"#11b4f5\",\n }).then((result) => {\n if (result.isConfirmed) {\n navigate(\"/contact-us\");\n }\n });\n }\n console.error(\"Error during POST request:\", error);\n } finally {\n setIsSubmitted(false);\n }\n } else {\n console.log(\"Form validation failed\");\n }\n };\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n return (\n <>\n \n \n \n \n GET IN TOUCH\n \n
\n \n \n \n \n \n \n \n {errors.name && (\n {errors.name}\n )}\n \n \n \n {errors.email && (\n {errors.email}\n )}\n \n \n {\n if (\n typeof value === \"string\" ||\n value === undefined\n ) {\n handlePhoneChange(\n typeof value === \"string\" ? value : \"\",\n typeof country === \"string\" ? country : \"\",\n event,\n formattedValue\n );\n }\n }}\n />\n {errors.mobile && (\n {errors.mobile}\n )}\n\n {/* Add hidden fields for country code and phone number */}\n \n \n\n \n \n \n {errors.subject && (\n \n {errors.subject}\n \n )}\n \n \n \n {errors.message && (\n \n {errors.message}\n \n )}\n \n \n \n {isSubmitted ? (\n Submitting...\n ) : (\n \"Submit Now\"\n )}\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n );\n};\n\nexport default Contact;\n"],"names":["_ref","title","description","_jsx","Box","sx","backgroundImage","concat","IMAGES","innerHeadingImg","textTransform","children","Container","_jsxs","Typography","variant","textAlign","py","color","fontSize","pt","Contact","navigate","useNavigate","isSubmitted","setIsSubmitted","useState","errors","setErrors","formData","setFormData","name","email","countryCode","mobile","subject","message","phoneNumber","handleInputChange","e","value","target","prevData","prevErrors","useEffect","window","scrollTo","_Fragment","Heading","xs","lg","maxWidth","onSubmit","async","preventDefault","validateForm","newErrors","trim","test","length","Object","keys","data","phoneExt","phoneNo","Services","home","postContactUs","Swal","text","icon","confirmButtonColor","then","result","isConfirmed","error","console","log","response","mt","Grid","container","spacing","item","Input","placeholder","type","onChange","PhoneInput","country","event","formattedValue","undefined","handlePhoneChange","phoneNumberArray","split","slice","join","replace","id","className","rows","style","height","resize","Button","borderRadius","disabled","src","width","border"],"sourceRoot":""}