feat: improve resend dialog

This commit is contained in:
Catalin Pit
2025-09-17 10:31:23 +03:00
parent e49910c8ef
commit 49b61c6c07
2 changed files with 14 additions and 4 deletions

View File

@ -6,7 +6,7 @@ import { useLingui } from '@lingui/react';
import { Trans } from '@lingui/react/macro'; import { Trans } from '@lingui/react/macro';
import { type Recipient, SigningStatus } from '@prisma/client'; import { type Recipient, SigningStatus } from '@prisma/client';
import { History } from 'lucide-react'; import { History } from 'lucide-react';
import { useForm } from 'react-hook-form'; import { useForm, useWatch } from 'react-hook-form';
import * as z from 'zod'; import * as z from 'zod';
import { useSession } from '@documenso/lib/client-only/providers/session'; import { useSession } from '@documenso/lib/client-only/providers/session';
@ -85,6 +85,11 @@ export const DocumentResendDialog = ({ document, recipients }: DocumentResendDia
formState: { isSubmitting }, formState: { isSubmitting },
} = form; } = form;
const selectedRecipients = useWatch({
control: form.control,
name: 'recipients',
});
const onFormSubmit = async ({ recipients }: TResendDocumentFormSchema) => { const onFormSubmit = async ({ recipients }: TResendDocumentFormSchema) => {
try { try {
await resendDocument({ documentId: document.id, recipients }); await resendDocument({ documentId: document.id, recipients });
@ -151,7 +156,7 @@ export const DocumentResendDialog = ({ document, recipients }: DocumentResendDia
<FormControl> <FormControl>
<Checkbox <Checkbox
className="h-5 w-5 rounded-full" className="h-5 w-5 rounded-full border border-neutral-400"
value={recipient.id} value={recipient.id}
checked={value.includes(recipient.id)} checked={value.includes(recipient.id)}
onCheckedChange={(checked: boolean) => onCheckedChange={(checked: boolean) =>
@ -182,7 +187,13 @@ export const DocumentResendDialog = ({ document, recipients }: DocumentResendDia
</Button> </Button>
</DialogClose> </DialogClose>
<Button className="flex-1" loading={isSubmitting} type="submit" form={FORM_ID}> <Button
className="flex-1"
loading={isSubmitting}
type="submit"
form={FORM_ID}
disabled={isSubmitting || selectedRecipients.length === 0}
>
<Trans>Send reminder</Trans> <Trans>Send reminder</Trans>
</Button> </Button>
</div> </div>

View File

@ -714,7 +714,6 @@ export const AddSignersFormPartial = ({
handleRecipientAutoCompleteSelect(index, suggestion) handleRecipientAutoCompleteSelect(index, suggestion)
} }
onSearchQueryChange={(query) => { onSearchQueryChange={(query) => {
console.log('onSearchQueryChange', query);
field.onChange(query); field.onChange(query);
setRecipientSearchQuery(query); setRecipientSearchQuery(query);
}} }}