/** @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/confirmed-letter.jpg" 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 errText = document.getElementById("errText"); let navigate = useNavigate(); let [showSuccessfulImage, setShowSuccessfulImage] = useState(false) // Handles when sucess image is shown // 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 == ""){ errText.textContent = "unable to send your message, please try again"; response.innerHTML = `

SEND MESSAGE

`; }else { response.innerHTML = `

SEND MESSAGE

`; setShowSuccessfulImage(true) // sets show success image to true setTimeout(() => { navigate("/"); }, 10000); } }) .catch(() => { errText.textContent = "unable to send your message, please try again"; response.innerHTML = `

SEND MESSAGE

`; }); }; //CALLS THE API AFTER COMPONENT LOADS useEffect(() => { allCountry().then((data) => setCountries(Object.entries(data.data))).catch((err)=>console.log(err.message)); }, []); return ( <> {brdcum.b1 && ( )} {brdcum.b2 && ( )} {brdcum.b5 && ( )} {brdcum.b3 && ( )} {brdcum.b4 && ( )}
{showSuccessfulImage ? ( <>
success image

We have received your message and will follow up promptly.

) : ( <>

Leave a message

Fill up form below, our team will get back soon

{/* Contact Form */}