'use client'; import { useState } from 'react'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { useSendEmail } from '@/hooks/useResend'; export function ResendTestForm() { const [to, setTo] = useState(''); const [subject, setSubject] = useState('Welcome to Your App'); const [html, setHtml] = useState('

You can switch to the sample template toggle to use a styled email.

'); const [useSample, setUseSample] = useState(true); const [sampleTitle, setSampleTitle] = useState('Welcome to Your App'); const [sampleMessage, setSampleMessage] = useState('This is a sample transactional email sent via Resend.'); const [message, setMessage] = useState(null); const sendEmail = useSendEmail({ onSuccess: (data) => { setMessage(`Email queued. ID: ${data.id || 'N/A'} → ${data.to.join(', ')}`); }, }); const handleSend = async () => { setMessage(null); try { const recipients = to .split(',') .map((x) => x.trim()) .filter(Boolean); if (recipients.length === 0) { setMessage('Please enter at least one recipient email'); return; } await sendEmail.mutateAsync({ to: recipients, subject, html: useSample ? '

Sample email

' : html, useSample, title: sampleTitle, message: sampleMessage }); } catch (err) { setMessage(err instanceof Error ? err.message : 'Failed to send'); } }; return ( Test Resend Emails Enter one or multiple comma-separated emails to send a test message.
setTo(e.target.value)} />
setSubject(e.target.value)} />
setUseSample(e.target.checked)} />
{useSample ? (
setSampleTitle(e.target.value)} />