import React from 'react'; import Container from "./container"; import Image from 'next/image'; import { useRouter } from "next/router"; const FlexibleForm = ({ imgPos, data, route}) => { const router = useRouter(); const handleSubmit = async (event) => { event.preventDefault(); const formData = new FormData(event.target); try { const response = await fetch(data.formAction, { method: data.formMethod, body: JSON.stringify(Object.fromEntries(formData)), headers: { 'Content-Type': 'application/json' }, }); if (!response.ok) { throw new Error(response.text()); } console.log('Form submitted successfully'); if (route) { router.push(route); } } catch (error) { console.error('Error submitting form:', error); } } const renderImage = ( ); const renderForm = (

{data.title}

{data.subtitle}

{data.formFields.map((field, index) => (
))}
{data.underneathButton && (
{data.underneathButton.text}
)} {data.ctaLink && (

{data.ctaLink.text} {data.ctaLink.linkText}

)}
); return ( {imgPos === "left" ? renderImage : renderForm} {imgPos === "left" ? renderForm : renderImage} ); }; export default FlexibleForm;