import '../../style/renderers/pdf-renderer.scss'
import React from 'react'
import LoadingOverlay from '../LoadingOverlay'
import ErrorOverlay from '../ErrorOverlay'
import PDFPage from '../PDFPage'
import Logger from '../../scripts/logger'
type PDFRendererProps = {
content: string
}
type PDFRendererState = {
isLoading: boolean
hasError: boolean
currentStep: string
pages: React.ReactElement<typeof PDFPage>[]
}
class PDFRenderer extends React.Component<PDFRendererProps, PDFRendererState> {
private rawDecodeWorker: Worker
private pdfjs!: typeof import('pdfjs-dist')
constructor(props: PDFRendererProps) {
super(props)
this.state = {
isLoading: true,
hasError: false,
currentStep: 'Loading PDF...',
pages: []
}
this.init = this.init.bind(this)
this.loadPDF = this.loadPDF.bind(this)
this.reload = this.reload.bind(this)
this.renderPages = this.renderPages.bind(this)