diff --git a/assets/js/newsletter.js b/assets/js/newsletter.js new file mode 100644 index 0000000..fc69bf1 --- /dev/null +++ b/assets/js/newsletter.js @@ -0,0 +1,46 @@ +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 = '
'; + form.reset(); + if (typeof turnstile !== 'undefined') turnstile.reset(); + } else { + msg.innerHTML = ''; + } + } catch (err) { + msg.innerHTML = ''; + } + + btn.disabled = false; + btn.textContent = 'Subscribe'; + }); +}); diff --git a/data/site/contact.yaml b/data/site/contact.yaml index 91068b8..ecb1493 100644 --- a/data/site/contact.yaml +++ b/data/site/contact.yaml @@ -1,5 +1,5 @@ public_aliases: - general: hello@getfatkiss.com + general: fatkiss@getfatkiss.com orders: orders@getfatkiss.com press: press@getfatkiss.com diff --git a/data/site/home.yaml b/data/site/home.yaml index bf50b48..83f2641 100644 --- a/data/site/home.yaml +++ b/data/site/home.yaml @@ -51,3 +51,8 @@ waitlist: body: "" cta_label: "" cta_url: "" + +newsletter: + enabled: true + title: "Stay in the Kiss" + body: "Notes from the studio. New balms. Seasonal rituals. No spam — just Amber when there is something worth saying." diff --git a/data/site/settings.yaml b/data/site/settings.yaml index 8b855ad..66012c7 100644 --- a/data/site/settings.yaml +++ b/data/site/settings.yaml @@ -17,3 +17,4 @@ enable_contact_form: true noindex_admin: true analytics_provider: "" analytics_id: "" +enable_newsletter: true diff --git a/hugo.toml b/hugo.toml index a9bc992..8f7f58b 100644 --- a/hugo.toml +++ b/hugo.toml @@ -9,7 +9,7 @@ title = "Fat Kiss — Natural Ritual Skincare" [params] description = "Fat Kiss — rich, natural balm rituals for skin that lives, works, glows, and keeps going. Everybody Wants One." author = "Fat Kiss" - email = "hello@getfatkiss.com" + email = "fatkiss@getfatkiss.com" slogan = "Everybody Wants One." ogImage = "/uploads/og-fatkiss.jpg" favicon = "/favicon.svg" diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index ead5554..b64bdfc 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -13,5 +13,8 @@ {{ partial "footer.html" . }} {{ $js := resources.Get "js/main.js" | minify | fingerprint }} + {{ $nl := resources.Get "js/newsletter.js" | minify | fingerprint }} + +