fix: unbreak pdf viewer

This commit is contained in:
Mythie
2023-10-20 20:14:10 +11:00
parent 284a2870c2
commit 457e73342b
4 changed files with 12 additions and 6 deletions

View File

@ -153,7 +153,7 @@ export const EditDocumentForm = ({
gradient
>
<CardContent className="p-2">
<LazyPDFViewer documentData={documentData} />
<LazyPDFViewer key={documentData.id} documentData={documentData} />
</CardContent>
</Card>

View File

@ -91,7 +91,7 @@ export default async function DocumentPage({ params }: DocumentPageProps) {
{document.status === InternalDocumentStatus.COMPLETED && (
<div className="mx-auto mt-12 max-w-2xl">
<LazyPDFViewer documentData={documentData} />
<LazyPDFViewer key={documentData.id} documentData={documentData} />
</div>
)}
</div>

View File

@ -82,7 +82,7 @@ export default async function SigningPage({ params: { token } }: SigningPageProp
gradient
>
<CardContent className="p-2">
<LazyPDFViewer documentData={documentData} />
<LazyPDFViewer key={documentData.id} documentData={documentData} />
</CardContent>
</Card>

View File

@ -66,6 +66,8 @@ export const PDFViewer = ({
const [numPages, setNumPages] = useState(0);
const [pdfError, setPdfError] = useState(false);
const isLoading = isDocumentBytesLoading || !documentBytes;
const onDocumentLoaded = (doc: LoadedPDFDocument) => {
setNumPages(doc.numPages);
onDocumentLoad?.(doc);
@ -153,13 +155,17 @@ export const PDFViewer = ({
return (
<div ref={$el} className={cn('overflow-hidden', className)} {...props}>
{isDocumentBytesLoading ? (
<div className={cn('h-[80vh] max-h-[60rem] w-full overflow-hidden rounded')}>
{isLoading ? (
<div
className={cn(
'flex h-[80vh] max-h-[60rem] w-full flex-col items-center justify-center overflow-hidden rounded',
)}
>
<PDFLoader />
</div>
) : (
<PDFDocument
file={documentBytes}
file={documentBytes.buffer}
className={cn('w-full overflow-hidden rounded', {
'h-[80vh] max-h-[60rem]': numPages === 0,
})}