File: /var/www/kevin-demo/wp-content/themes/fitmencook/js/custom/newsletterEmailSend.js
const sendPostUrlBrevo = async (userEmail) => {
const formData = new FormData();
const postUrl = location.href;
formData.append("userEmail", userEmail);
formData.append("postUrl", postUrl);
formData.append("action", "brevo_email_send");
formData.append("recipeID", theme.recipeID);
try {
const request = await fetch(theme.ajaxUrl, {
method: "POST",
body: formData,
});
const response = await request.json();
if (response && response.success) {
console.log("Recipe email sent successfully!");
}
} catch (e) {
console.log('Error sending recipe email:', e);
}
};
// Brevo form submission listener
document.addEventListener('DOMContentLoaded', function() {
const brevoForm = document.querySelector('#sib-form');
if (brevoForm) {
// Pratimo promene na formi
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
// Ako se forma sakrila ili promenila, možda je submit-ovana
const emailInput = document.querySelector('#EMAIL');
if (emailInput && emailInput.value) {
console.log('Form submitted, sending email:', emailInput.value);
sendPostUrlBrevo(emailInput.value);
}
}
});
});
// Pratimo promene na formi
observer.observe(brevoForm, {
attributes: true,
attributeFilter: ['style', 'class']
});
// Takođe pratimo klik na submit dugme
const submitButton = brevoForm.querySelector('button[type="submit"]');
if (submitButton) {
submitButton.addEventListener('click', function(e) {
// PREVENT DEFAULT - zaustavimo redirect
e.preventDefault();
e.stopPropagation();
const emailInput = document.querySelector('#EMAIL');
if (emailInput && emailInput.value) {
// Prvo pošalji email
sendPostUrlBrevo(emailInput.value).then(() => {
// Zatim submit-uj formu kroz Brevo sistem
const formData = new FormData(brevoForm);
fetch(brevoForm.action, {
method: 'POST',
body: formData,
mode: 'no-cors'
}).then(() => {
// Prikaži success poruku
const successMessage = document.getElementById('success-message');
if (successMessage) {
successMessage.style.display = 'block';
// Sakrij formu
const formContainer = document.getElementById('sib-container');
if (formContainer) {
formContainer.style.display = 'none';
}
}
// Reset-uj formu
brevoForm.reset();
}).catch((error) => {
console.log('Error submitting to Brevo:', error);
});
});
}
});
}
}
});