'use client'; import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import * as z from 'zod'; import { cn } from '../../lib/utils'; import { Button } from '../../shadcn/button'; import { Form, FormControl, FormField, FormItem, FormMessage, } from '../../shadcn/form'; import { Input } from '../../shadcn/input'; const NewsletterFormSchema = z.object({ email: z.email(), }); type NewsletterFormValues = z.output; interface NewsletterSignupProps extends React.HTMLAttributes { onSignup: (data: NewsletterFormValues) => void; buttonText?: string; placeholder?: string; } export function NewsletterSignup({ onSignup, buttonText = 'Subscribe', placeholder = 'Enter your email', className, ...props }: NewsletterSignupProps) { const form = useForm({ resolver: zodResolver(NewsletterFormSchema), defaultValues: { email: '', }, }); return (
( } /> )} />
); }