"use client"; import React, { useEffect, useState } from "react"; import axios from "axios"; import Link from "next/link"; import Image from "next/image"; import { services } from "@/data/services"; export default function Footer5() { const [success, setSuccess] = useState(true); const [showMessage, setShowMessage] = useState(false); const handleShowMessage = () => { setShowMessage(true); setTimeout(() => { setShowMessage(false); }, 2000); }; const sendEmail = async (e) => { e.preventDefault(); // Prevent default form submission behavior const email = e.target.email.value; try { const response = await axios.post( "https://express-brevomail.vercel.app/api/contacts", { email, } ); if ([200, 201].includes(response.status)) { e.target.reset(); // Reset the form setSuccess(true); // Set success state handleShowMessage(); } else { setSuccess(false); // Handle unexpected responses handleShowMessage(); } } catch (error) { console.error("Error:", error.response?.data || "An error occurred"); setSuccess(false); // Set error state handleShowMessage(); e.target.reset(); // Reset the form } }; useEffect(() => { const headings = document.querySelectorAll(".footer-heading-mobile"); const toggleOpen = (event) => { const parent = event.target.closest(".footer-col-block"); const content = parent.querySelector(".tf-collapse-content"); if (parent.classList.contains("open")) { parent.classList.remove("open"); content.style.height = "0px"; } else { parent.classList.add("open"); content.style.height = content.scrollHeight + 10 + "px"; } }; headings.forEach((heading) => { heading.addEventListener("click", toggleOpen); }); // Clean up event listeners when the component unmounts return () => { headings.forEach((heading) => { heading.removeEventListener("click", toggleOpen); }); }; }, []); // Empty dependency array means this will run only once on mount return ( ); }