pdf-viewer.js 600 B

12345678910111213141516171819202122232425
  1. import { lazy, memo } from 'react'
  2. import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context'
  3. const PdfJsViewer = lazy(() =>
  4. import(/* webpackChunkName: "pdf-js-viewer" */ './pdf-js-viewer')
  5. )
  6. function PdfViewer() {
  7. const { pdfUrl, pdfFile, pdfViewer } = useCompileContext()
  8. if (!pdfUrl) {
  9. return null
  10. }
  11. switch (pdfViewer) {
  12. case 'native':
  13. return <iframe title="PDF Preview" src={pdfUrl} />
  14. case 'pdfjs':
  15. default:
  16. return <PdfJsViewer url={pdfUrl} pdfFile={pdfFile} />
  17. }
  18. }
  19. export default memo(PdfViewer)