import React, { useMemo } from "react"; import { Fragment } from "react"; import { sendSigningRequests } from "@documenso/lib/api"; import { truncate } from "@documenso/lib/helpers"; import { Button } from "@documenso/ui"; import { Dialog as DialogComponent, Transition } from "@headlessui/react"; import { Document as PrismaDocument } from "@prisma/client"; type FormValue = { id: number; email: string; name: string; }; type DialogProps = { title: string; open: boolean; setOpen: (open: boolean) => void; document: PrismaDocument; formValues: FormValue[]; setLoading: (loading: boolean) => void; icon: React.ReactNode; truncateTitle: boolean; }; export function Dialog({ title, open, setOpen, document, formValues, setLoading, icon, truncateTitle = true, }: DialogProps) { const unsentEmailsLength = formValues.filter( (s: any) => s.email && s.sendStatus != "SENT" ).length; const documentTitle = truncateTitle ? truncate(document.title) : document.title; return (
{icon}
{title}

{`"${documentTitle}" will be sent to ${unsentEmailsLength} recipients.`}

); }