export default function DocumentViewer()

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>
  )
}