Newsletter

Stateful Newsletter with Micro interactions

Installation

file_type_light_pnpm

$ pnpm dlx shadcn@latest add https://vatsalrana.dev/r/newsletter.json

Usage

import Newsletter from "@/components/newsletter"
<Newsletter
  clearOnSuccess
  onSubmitAction={async (email) => {
    const response = await fetch("/api/v1/newsletter", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ email }),
    })

    const data = await response.json()

    if (!response.ok) {
      throw new Error(data.message)
    }

    console.log(data)
  }}
/>

API Reference

Newsletter

Prop