"use client"; import { useActionState } from "react"; import { useFormStatus } from "react-dom"; import { motion } from "framer-motion"; import { Spinner } from "../ui/Spinner"; import { subscribe, type SubscribeState } from "@/app/actions/subscribe"; import { EASE_OUT_EXPO } from "@/lib/motion"; 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 (
); }