import { useEffect, useRef, useState } from "react"; import { Document, Page } from "react-pdf"; import "react-pdf/dist/esm/Page/AnnotationLayer.css"; import "react-pdf/dist/esm/Page/TextLayer.css"; import ArrowCircleLeftIcon from "@mui/icons-material/ArrowCircleLeft"; import ArrowCircleRightIcon from "@mui/icons-material/ArrowCircleRight"; import { Box, IconButton } from "@mui/material"; interface PDFViewerProps { pitchBookId: string; } export default function PDFViewer({ pitchBookId }: PDFViewerProps) { const [numPages, setNumPages] = useState(null); const [pageNumber, setPageNumber] = useState(1); const [containerWidth, setContainerWidth] = useState(null); const containerRef = useRef(null); const onDocumentLoadSuccess = ({ numPages }: { numPages: number }) => { setNumPages(numPages); }; useEffect(() => { const updateWidth = () => { if (containerRef.current) { setContainerWidth(containerRef.current.offsetWidth); } }; updateWidth(); window.addEventListener("resize", updateWidth); return () => window.removeEventListener("resize", updateWidth); }, []); return ( console.error("Es gab ein Fehler beim Laden des PDFs:", error) } onSourceError={(error) => console.error("Ungültige PDF:", error)} > {containerWidth && ( )} setPageNumber((p) => p - 1)} > {pageNumber} / {numPages} = (numPages || 1)} onClick={() => setPageNumber((p) => p + 1)} > ); }