import { Skeleton } from 'antd'; import { PdfHighlighter, PdfLoader } from 'react-pdf-highlighter'; import FileError from '../file-error'; import { useCatchError } from '../hooks'; interface IProps { url: string; } const PdfPreviewer = ({ url }: IProps) => { const { error } = useCatchError(url); const resetHash = () => {}; return ( <div style={{ width: '100%', height: '100%' }}> <PdfLoader url={url} beforeLoad={<Skeleton active />} workerSrc="/pdfjs-dist/pdf.worker.min.js" errorMessage={<FileError>{error}</FileError>} onError={(e) => { console.warn(e); }} > {(pdfDocument) => { return ( <PdfHighlighter pdfDocument={pdfDocument} enableAreaSelection={(event) => event.altKey} onScrollChange={resetHash} scrollRef={() => {}} onSelectionFinished={() => null} highlightTransform={() => { return <div></div>; }} highlights={[]} /> ); }} </PdfLoader> </div> ); }; export default PdfPreviewer;