// Install dependencies: // npm install resend @shadcn/ui react-hook-form mysql2 import { useState, useEffect } from "react"; import { Resend } from "resend"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { Card, CardContent } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; import { useForm } from "react-hook-form"; const resend = new Resend(process.env.NEXT_PUBLIC_RESEND_API_KEY); export default function FollowUpMailer() { const [loading, setLoading] = useState(false); const [status, setStatus] = useState(""); const [sequences, setSequences] = useState([]); const { register, handleSubmit, reset } = useForm(); const fetchSequences = async () => { const res = await fetch("/api/sequences"); const data = await res.json(); setSequences(data); }; useEffect(() => { fetchSequences(); }, []); const onSubmit = async (data) => { setLoading(true); setStatus(""); try { const response = await fetch("/api/send-sequence", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data), }); const result = await response.json(); setStatus(result.message); reset(); fetchSequences(); } catch (err) { setStatus("Failed to send emails. Please try again."); } finally { setLoading(false); } }; return (
No sequences found.
) : (To: {seq.email_to}
Client: {seq.client_name}
Subject: {seq.subject}
Days: {seq.days}
Created: {new Date(seq.created_at).toLocaleString()}