feat: allow document rejection in embeds (#1662)

This commit is contained in:
Lucas Smith
2025-02-20 11:34:19 +11:00
committed by David Nguyen
parent 139bc265c7
commit 483d7caef7
5 changed files with 103 additions and 5 deletions

View File

@ -42,9 +42,14 @@ type TRejectDocumentFormSchema = z.infer<typeof ZRejectDocumentFormSchema>;
export interface DocumentSigningRejectDialogProps {
document: Pick<Document, 'id'>;
token: string;
onRejected?: (reason: string) => void | Promise<void>;
}
export function DocumentSigningRejectDialog({ document, token }: DocumentSigningRejectDialogProps) {
export function DocumentSigningRejectDialog({
document,
token,
onRejected,
}: DocumentSigningRejectDialogProps) {
const { toast } = useToast();
const navigate = useNavigate();
const [searchParams] = useSearchParams();
@ -75,9 +80,13 @@ export function DocumentSigningRejectDialog({ document, token }: DocumentSigning
duration: 5000,
});
await navigate(`/sign/${token}/rejected`);
setIsOpen(false);
if (onRejected) {
await onRejected(reason);
} else {
await navigate(`/sign/${token}/rejected`);
}
} catch (err) {
toast({
title: 'Error',