'use client' import { useEffect, useRef, useState } from 'react' import { Document, Page, pdfjs } from 'react-pdf' import 'react-pdf/dist/Page/AnnotationLayer.css' import 'react-pdf/dist/Page/TextLayer.css' pdfjs.GlobalWorkerOptions.workerSrc = new URL( 'pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url, ).toString() interface Props { url: string } function proxyUrl(url: string): string { return `/api/pdf?url=${encodeURIComponent(url)}` } export default function PdfViewer({ url }: Props) { const containerRef = useRef(null) const [containerWidth, setContainerWidth] = useState(0) const [numPages, setNumPages] = useState(0) useEffect(() => { const el = containerRef.current if (!el) return const ro = new ResizeObserver(([entry]) => setContainerWidth(entry.contentRect.width)) ro.observe(el) return () => ro.disconnect() }, []) return (
setNumPages(numPages)} loading={
} error={
Impossible de charger le PDF
} > {Array.from({ length: numPages }, (_, i) => (
))}
) }