Compare commits

...

9 Commits

Author SHA1 Message Date
Jeff Emmett 0ee8179093 Merge and use newsletter-api for immediate welcome emails
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 01:35:09 -05:00
Jeff Emmett 9944d430dc Add 🧅 emoji favicon 2025-11-30 22:18:20 -08:00
v0 8e581bfd30 feat: add rainbow gradient effect to hero headline
Create vibrant rainbow gradient for "Alternative" and
white text for "Internet" against black background.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 19:29:15 +00:00
v0 c980c04214 refactor: restore project from v6 to v8
Update project files and assets for version restoration.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 19:03:33 +00:00
v0 423bd2eef3 fix: add export output to next.config.mjs
Enable static export generation in build output.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 01:31:14 +00:00
v0 71f71aa80a chore: sync main changes to alltornet-website
Update project files and assets from main branch.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 01:28:46 +00:00
v0 c21f2d2ed3 chore: sync main changes to alltornet-website
Update project files and assets from main branch.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 01:26:59 +00:00
v0 8dbd45af09 chore: sync main changes to alltornet-website
Update project files and assets from main branch.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 01:23:11 +00:00
v0 725ad2aa1c Initialized repository for chat Alltor.net website design
Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
2025-11-07 01:14:57 +00:00
1 changed files with 4 additions and 5 deletions

View File

@ -3,7 +3,7 @@
import { useState } from "react"
import { Button } from "@/components/ui/button"
const LISTMONK_URL = "https://newsletter.jeffemmett.com"
const NEWSLETTER_API = "https://newsletter.jeffemmett.com/api/subscribe"
const LIST_UUID = "0c541da4-3f04-4e72-978a-5a328b43c995" // Alltornet list
export function NewsletterSignup() {
@ -19,21 +19,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("Check your email to confirm your subscription!")
setMessage("Connect to the Alltor.net. Something's emerging.")
setEmail("")
} else {
throw new Error("Subscription failed")