in source/app/components/DocumentViewer/DocumentViewer.js [37:105]
export default function DocumentViewer({
className,
document,
marks,
redactions,
tables,
pageCount,
highlightedMark,
...rest
}) {
const { documentName, searchablePdfURL, documentURL } = document
const isPDF = true // /.pdf$/.test(documentName)
const viewerClassNames = classNames(css.viewer, className, isPDF && css.pdfViewer)
const { containerRef, documentWidth, handleResize } = useDocumentResizer(isPDF, [marks, tables])
const onLoadSuccess = useCallback(handleResize, [])
const pager = (
<Pager className={css.pager} pageTotal={pageCount}>
{currentPageNumber =>
isPDF ? (
<DocumentMarks
marks={marks}
highlightedMark={highlightedMark}
tables={tables}
redactions={redactions}
ref={containerRef}
>
<Page
className={css.page}
loading={<Loading />}
pageNumber={currentPageNumber}
width={documentWidth}
renderAnnotationLayer={false}
/>
</DocumentMarks>
) : (
<div className={css.imageWrapper}>
<DocumentMarks
marks={marks}
highlightedMark={highlightedMark}
tables={tables}
redactions={redactions}
>
<img className={css.image} src={documentURL} />
</DocumentMarks>
</div>
)
}
</Pager>
)
return (
<div className={viewerClassNames} {...rest}>
{documentURL && isPDF && (
<Document
className={css.document}
file={searchablePdfURL}
loading={<Loading />}
onLoadSuccess={onLoadSuccess}
>
{pager}
</Document>
)}
{documentURL && !isPDF && pager}
{!documentURL && <Loading />}
</div>
)
}