Files

47 lines
1.6 KiB
JavaScript

document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('newsletterForm');
if (!form) return;
form.addEventListener('submit', async (e) => {
e.preventDefault();
const btn = document.getElementById('nlSubmitBtn');
const msg = document.getElementById('nlMessage');
btn.disabled = true;
btn.textContent = 'Subscribing…';
try {
const fd = new FormData(form);
if (fd.get('website')) { btn.disabled = false; btn.textContent = 'Subscribe'; return; }
const res = await fetch('https://newsletter.getfatkiss.com/api/subscribers', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('fatkiss:fk-api-token-2026-safe')
},
body: JSON.stringify({
email: fd.get('email'),
name: fd.get('name') || '',
status: 'enabled',
lists: [17],
preconfirm_subscriptions: true
})
});
const data = await res.json();
if (res.ok && data.data) {
msg.innerHTML = '<div class="form-message form-message--success">You are in. Welcome to the Kiss.</div>';
form.reset();
if (typeof turnstile !== 'undefined') turnstile.reset();
} else {
msg.innerHTML = '<div class="form-message form-message--error">Something did not go through. Please try again.</div>';
}
} catch (err) {
msg.innerHTML = '<div class="form-message form-message--error">Something did not go through. Please try again.</div>';
}
btn.disabled = false;
btn.textContent = 'Subscribe';
});
});