"use client"; import { useState } from "react"; import { Section } from "@/components/layout/Section"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; export function Newsletter() { const [email, setEmail] = useState(""); const [status, setStatus] = useState<"idle" | "loading" | "done" | "error">("idle"); async function submit(e: React.FormEvent) { e.preventDefault(); setStatus("loading"); try { const res = await fetch("/api/inquiry", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ intent: "newsletter", name: "Newsletter subscriber", email, message: "Newsletter signup from homepage", }), }); if (!res.ok) throw new Error(); setStatus("done"); setEmail(""); } catch { setStatus("error"); } } return (

Stay up to date

Get announcements before anyone else about the next GRV Summit edition.

setEmail(e.target.value)} />
{status === "done" &&

You're on the list!

} {status === "error" && (

Something went wrong. Try again.

)}
); }