"use client"; import { useActionState } from "react"; import { useFormStatus } from "react-dom"; import { subscribe, type SubscribeState } from "@/app/actions/subscribe"; const initialState: SubscribeState = { status: "idle", message: "" }; function SubmitButton() { const { pending } = useFormStatus(); return ( ); } type Props = { variant?: "default" | "compact"; }; export function Newsletter({ variant = "default" }: Props) { const [state, formAction] = useActionState(subscribe, initialState); const wrapperClass = variant === "compact" ? "w-full max-w-lg" : "w-full max-w-lg mx-auto"; return (
{/* honeypot for bots */}

{state.message || "No spam. One devblog email per major update. Unsubscribe anytime."}

); }