/** @format */ import React, { useEffect, useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import Bredcrumb from "../Bredcrumb/Main"; import BGImg from "../../assets/images/bread_crumb_bg.png"; import BGImg1 from "../../assets/images/bread_crumb_bg_one.png"; import BGImg2 from "../../assets/images/bread_crumb_bg_two.png"; import SuccessImg from "../../assets/images/experts_01.png" import SiteService from "../../vendors/service/siteService"; // Form Inputs const FormInput = (props) => { let { name, type, placeholder, required, maxLenght, errorMessage, value, onChange, pattern, } = props; const [focused, setFocused] = useState(false); const handleFocus = () => { return setFocused(true); }; return (
{errorMessage}
); }; const Main = ({ brdcum }) => { let response = document.getElementById("contact_loader"); let contact_body = document.getElementById("contact_body"); let errText = document.getElementById("errText"); let navigate = useNavigate(); // Form Validation const [values, setValues] = useState({ name: "", email: "", phone: "", message: "", country: "", }); //initial state values const [countries, setCountries] = useState([]); // initial state for country dropdown const [myData, setMyData] = useState(null); // Gave a generic name for multiple calls const API_CALL = new SiteService(); // instantiating the class // API CALL const allCountry = () => { return API_CALL.countryData(); }; const contactForm = async (value) => { return await API_CALL.contactData(value); }; const onChange = (e) => { setValues((prev) => ({ ...prev, [e.target.name]: e.target.value })); }; // Submitting form const handleSubmit = async (e) => { e.preventDefault(); response.innerHTML = `
`; contactForm(values) .then((contact) => { setMyData(contact); // Checking for errors if (contact?.data?.status < 1 || contact?.data?.message_id == "") return (errText.textContent = "unable to send your message, please try again"); else { response.innerHTML = `

SEND MESSAGE

`; contact_body.innerHTML = `

We have received your message and will follow up promptly.

`; setTimeout(() => { navigate("/"); }, 10000); setValues((prev) => ({ ...prev, [e.target.name]: "" })); } }) .catch((error) => { console.log(error); }); }; //CALLS THE API AFTER COMPONENT LOADS useEffect(() => { allCountry().then((data) => setCountries(Object.values(data.data))); }, []); useEffect(() => { myData }, [myData]); return ( <> {brdcum.b1 && ( )} {brdcum.b2 && ( )} {brdcum.b5 && ( )} {brdcum.b3 && ( )} {brdcum.b4 && ( )}

Leave a message

Fill up form below, our team will get back soon

{/* Contact Form */}