From d4437d421f00d521e1147a269da0f2d6c2560b44 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Tue, 23 Dec 2025 01:07:42 -0500 Subject: [PATCH] Use newsletter-api for immediate welcome emails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switches from direct Listmonk API to newsletter-api endpoint which handles subscription + sends welcome email immediately. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- components/newsletter-signup.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/newsletter-signup.tsx b/components/newsletter-signup.tsx index c09ccfd..8bfef10 100644 --- a/components/newsletter-signup.tsx +++ b/components/newsletter-signup.tsx @@ -5,8 +5,8 @@ import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Sprout } from "lucide-react" -const LISTMONK_URL = "https://newsletter.jeffemmett.com" -const LIST_UUID = "d076325f-f39a-44a2-874d-2026c7eb6d1c" // MycoFi list +const NEWSLETTER_API = "https://newsletter.jeffemmett.com/api/subscribe" +const LIST_UUID = "47c050ec-78b4-4f1b-b1d4-708664479685" // MycoFi list export function NewsletterSignup() { const [email, setEmail] = useState("") @@ -21,21 +21,20 @@ export function NewsletterSignup() { setStatus("loading") try { - const response = await fetch(`${LISTMONK_URL}/api/public/subscription`, { + const response = await fetch(`${NEWSLETTER_API}/subscribe`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ email: email, - list_uuids: [LIST_UUID], - name: "", + list_uuid: LIST_UUID, }), }) if (response.ok) { setStatus("success") - setMessage("Merge in to the mesh.") + setMessage("Merge in to the mesh. The mycelium remembers.") setEmail("") } else { throw new Error("Subscription failed")