// var domain = "pymnts.com"; // var redirect = "http://www.pymnts.com"; // if( (location.hostname != domain) && // (location.hostname != "www."+domain) && // (location.hostname != "dev."+domain) // ) { location.href = redirect; }; (async () => { const onReady = (fn) => { if (document.readyState !== "loading") { fn(); } else { document.addEventListener("DOMContentLoaded", fn); } }; onReady(() => { [...document.getElementsByClassName("sailthru-nl-signup")].forEach( (form) => { form.addEventListener("submit", async (ev) => { const sailthruForm = ev.target; const sailthruList = sailthruForm.dataset.list; if (sailthruList && sailthruForm.elements.email) { ev.preventDefault(); const emailInput = sailthruForm.elements.email; const submitBtn = sailthruForm.querySelector( "button[type='submit']" ); const signupSuccessMsg = sailthruForm.querySelector(".nl-signup-success"); const signupErrorMsg = sailthruForm.querySelector(".nl-signup-error"); const signupErrorMsgText = sailthruForm.querySelector( ".nl-signup-error-msg" ); const email = emailInput.value; signupSuccessMsg.classList.add("d-none"); signupErrorMsg.classList.add("d-none"); submitBtn.disabled = true; emailInput.disabled = true; // https://getstarted.sailthru.com/developers/api-client/javascript/ // Sailthru.integration("userSignUp", // { // "email" : email, // "lists" : { // sailthruList :1 // }, // "vars" : {}} // "source" : window.location, // "onSuccess" : () => { // alert('Thank you for signing up for our list'); // }, // "onError" : () => { // alert('We encountered an issue signing you up. Please try again'); // } // }); const requestUrl = `/wp-json/pymnts/sailthru-signup?url=${encodeURIComponent( sailthruForm.action )}&email=${encodeURIComponent(email)}`; try { const resp = await fetch(requestUrl); const respJSON = await resp.json(); if ( respJSON.response && respJSON.response === "Thanks for signing up." ) { signupSuccessMsg.classList.remove("d-none"); setTimeout(() => { signupSuccessMsg.classList.add("d-none"); }, 5000); } else { if ( respJSON.response.indexOf( "Please enter a valid email address" ) > -1 ) { signupErrorMsgText.innerHTML = "Please enter a valid email address"; } else { signupErrorMsgText.innerHTML = respJSON.response; } signupErrorMsg.classList.remove("d-none"); setTimeout(() => { signupErrorMsg.classList.add("d-none"); }, 5000); } } catch (error) { console.log("sailthru-nl-signup error:", error); signupErrorMsg.classList.remove("d-none"); setTimeout(() => { signupErrorMsg.classList.add("d-none"); }, 5000); } submitBtn.disabled = false; emailInput.disabled = false; } }); } ); }); })(); ;