'use client'; import { useRouter } from 'next/navigation'; import { useForm } from 'react-hook-form'; import { Document, DocumentStatus, Field, Recipient } from '@documenso/prisma/client'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; import { Textarea } from '@documenso/ui/primitives/textarea'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { FormErrorMessage } from '~/components/form/form-error-message'; import { completeDocument } from './add-subject.action'; import { TAddSubjectFormSchema } from './add-subject.types'; import { EditDocumentFormContainer, EditDocumentFormContainerActions, EditDocumentFormContainerContent, EditDocumentFormContainerFooter, EditDocumentFormContainerStep, } from './container'; export type AddSubjectFormProps = { recipients: Recipient[]; fields: Field[]; document: Document; onContinue?: () => void; onGoBack?: () => void; }; export const AddSubjectFormPartial = ({ recipients: _recipients, fields: _fields, document, onContinue, onGoBack, }: AddSubjectFormProps) => { const { toast } = useToast(); const router = useRouter(); const { register, handleSubmit, formState: { errors, isSubmitting }, } = useForm({ defaultValues: { email: { subject: '', message: '', }, }, }); const onFormSubmit = handleSubmit(async (data: TAddSubjectFormSchema) => { const { subject, message } = data.email; try { await completeDocument({ documentId: document.id, email: { subject, message, }, }); router.refresh(); onContinue?.(); } catch (err) { console.error(err); toast({ title: 'Error', description: 'An error occurred while sending the document.', variant: 'destructive', }); } }); return (