import { useEffect, useState } from 'react'; import { Trans } from '@lingui/react/macro'; import type { DocumentData } from '@prisma/client'; import { DateTime } from 'luxon'; import { trpc } from '@documenso/trpc/react'; import { Button } from '@documenso/ui/primitives/button'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@documenso/ui/primitives/dialog'; import { PDFViewer } from '@documenso/ui/primitives/pdf-viewer'; import { ShareDocumentDownloadButton } from '../share-document-download-button'; export type DocumentCertificateQRViewProps = { documentId: number; title: string; documentData: DocumentData; password?: string | null; recipientCount?: number; completedDate?: Date; }; export const DocumentCertificateQRView = ({ documentId, title, documentData, password, recipientCount = 0, completedDate, }: DocumentCertificateQRViewProps) => { const { data: documentUrl } = trpc.shareLink.getDocumentInternalUrlForQRCode.useQuery({ documentId, }); const [isDialogOpen, setIsDialogOpen] = useState(() => !!documentUrl); const formattedDate = completedDate ? DateTime.fromJSDate(completedDate).toLocaleString(DateTime.DATETIME_MED) : ''; useEffect(() => { if (documentUrl) { setIsDialogOpen(true); } }, [documentUrl]); return (