UNPKG

@pointamarketing/form-submission

Version:
2 lines (1 loc) 3.25 kB
async function b(){let o=window;if(!o.recaptchaLoaded)return new Promise(a=>{let n=setInterval(()=>{o.recaptchaLoaded&&(clearInterval(n),a())},100)})}function A(o){return new Promise(a=>{window.grecaptcha.ready(async()=>{try{let n=await window.grecaptcha.execute(o,{action:"submit"});a({token:n,error:null})}catch(n){a({token:null,error:n})}})})}async function g(o,a){let n="https://consumers-gateway-4cygfe52ia-ew.a.run.app:443/pointa.pa.services.public.v1.FormsService/ValidateFormSubmission",i={token:o,recaptchaAction:"submit",recaptchaKey:a};try{let e=await fetch(n,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return{data:await e.json(),error:null}}catch(e){return{data:null,error:e instanceof Error?e:new Error(String(e))}}}var d=async o=>{await b();let{token:a,error:n}=await A(o);if(n)throw console.error("reCAPTCHA error:",n),new Error("reCAPTCHA execution failed");let{data:i,error:e}=await g(a,o);if(e||i.score<=.8)throw console.error("Validation error:",e),new Error(e?"reCAPTCHA validation failed":"reCAPTCHA score too low")};async function R(o,a){let i=`https://consumers-gateway-4cygfe52ia-ew.a.run.app:443/pointa.pa.services.public.v1.FormsService/${a}`,e=o.reduce((t,{formProperty:r,formValue:c})=>({...t,[r]:c}),{});try{let t=await fetch(i,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}});if(!t.ok)throw new Error(`Request failed with status: ${t.status}`);return{data:await t.json(),error:null}}catch(t){return{data:null,error:t instanceof Error?t:new Error(String(t))}}}function s(o,a,n){let i,e,t,r,c=()=>{i&&(i.style.display="block"),t&&(t.value="Submit",t.disabled=!1)},f=()=>{r&&(r.style.display="none"),e&&(e.style.display="block");let l=new CustomEvent("formsuccess",{bubbles:!0});r?.dispatchEvent(l)},w=async l=>{if(l.preventDefault(),!(!r||!t)){t.value="Sending...",t.disabled=!0;try{await d(n);let u=new FormData(r),h=Array.from(u.entries()).map(([y,E])=>({formProperty:y,formValue:E})),{error:p}=await R(h,a);if(p)throw console.error("Submit error:",p),new Error("Form submission failed");f()}catch(u){console.error("Form submission error:",u),c()}}},m=()=>{r=document.getElementById(o),r?.parentElement&&(r.parentElement.classList.remove("w-form"),i=r.parentElement.querySelector('[data-name-form="error"]'),e=r.parentElement.querySelector('[data-name-form="success"]'),t=r.querySelector(".form-submit-button"),i&&(i.style.display="none"),e&&(e.style.display="none"),r.addEventListener("submit",w))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",m):m()}function F(){window.Webflow||(window.Webflow=[]),window.Webflow.push(()=>{s("contact-form","Pointa","6LcTWREqAAAAAEUSOaaG-gAOLxgo18VodDK95ppr")})}function T(){window.Webflow||(window.Webflow=[]),window.Webflow.push(()=>{s("consultation-form","Pointa","6LcTWREqAAAAAEUSOaaG-gAOLxgo18VodDK95ppr")})}function C(){window.Webflow||(window.Webflow=[]),window.Webflow.push(()=>{s("request-work-form","PointaRequestWork","6LcTWREqAAAAAEUSOaaG-gAOLxgo18VodDK95ppr")})}export{T as initializePointamarketingConsultationForm,F as initializePointamarketingContactForm,C as initializePointamarketingRequestWorkForm};