Spaces:
Paused
Paused
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; | |