window.addEventListener("message", function (e) {
// We verify that the error message is coming from Piano, so it must be what we're looking for.
if (typeof e.data.piano !== 'undefined') {
// Get the object with the result.
var result = e.data.piano;
// We know how this object should be structured, so we're checking for the "success" field.
// We're expecting it to be false, so we can show an error message.
if (result.object.type === 'newsletter') {
if ('false' === 'true') {
var inputButton = document.getElementById('newsletterSignupButton');
var inputButtonSuccess = document.getElementById('newsletterSignupButtonSuccess');
var inputUser = document.getElementById('newsletterSignupUser');
var inputError = document.getElementById('newsletterSignupError');
if (result.success || (!result.success && result.message === 'The email address is already subscribed.')) {
// Show success message
inputButton.classList.add('hidden');
inputButtonSuccess.classList.remove('hidden');
} else {
// Show error message
inputButton.classList.add('hidden');
inputUser.classList.add('hidden');
inputError.classList.remove('hidden');
}
}
if ('false' === 'false') {
var inputField = document.getElementById('newsletterEmail');
var inputLabel = document.getElementById('newsletterEmail-label');
var success = document.getElementById('newsletterEmail-success');
var form = document.getElementById('newsletterForm');
if (result.success) {
// Show success message
success.classList.remove('hidden');
// Hide form field, button, and any error messages
form.style.display = 'none';
} else {
// Show error message
inputLabel.textContent = result.message;
inputLabel.classList.remove('visually-hidden');
inputField.classList.add('error');
}
}
}
}
return;
}, false);