// 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;
}
});
}
);
});
})();
;