diff --git a/project/frontend/src/components/pdfViewer.tsx b/project/frontend/src/components/pdfViewer.tsx index 4749c3e..35e5a4d 100644 --- a/project/frontend/src/components/pdfViewer.tsx +++ b/project/frontend/src/components/pdfViewer.tsx @@ -4,6 +4,8 @@ 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 ZoomInIcon from "@mui/icons-material/ZoomIn"; +import ZoomOutIcon from "@mui/icons-material/ZoomOut"; import { Box, IconButton } from "@mui/material"; import type { CustomTextRenderer, @@ -12,8 +14,6 @@ import type { import { socket } from "../socket"; import { API_HOST } from "../util/api"; import { highlightPattern } from "../util/highlighting"; -import ZoomInIcon from "@mui/icons-material/ZoomIn"; -import ZoomOutIcon from "@mui/icons-material/ZoomOut"; interface PDFViewerProps { pitchBookId: string; @@ -117,8 +117,9 @@ export default function PDFViewer({ }); if (positions.length === 0) { - let cumulativeText = ''; - const textBoundaries: { start: number; end: number; index: number }[] = []; + let cumulativeText = ""; + const textBoundaries: { start: number; end: number; index: number }[] = + []; textContent.forEach((item, index) => { const start = cumulativeText.length; @@ -133,7 +134,7 @@ export default function PDFViewer({ while (searchIndex !== -1) { const endIndex = searchIndex + normalizedSearch.length; - textBoundaries.forEach(boundary => { + textBoundaries.forEach((boundary) => { if ( (boundary.start <= searchIndex && searchIndex < boundary.end) || // Search starts in this item (boundary.start < endIndex && endIndex <= boundary.end) || // Search ends in this item @@ -144,16 +145,19 @@ export default function PDFViewer({ } } }); - searchIndex = lowerCumulative.indexOf(normalizedSearch, searchIndex + 1); + searchIndex = lowerCumulative.indexOf( + normalizedSearch, + searchIndex + 1, + ); } } return positions.sort((a, b) => a - b); }; highlight - .filter(h => h.page === pageNumber) - .forEach(highlightItem => { + .filter((h) => h.page === pageNumber) + .forEach((highlightItem) => { const positions = findTextPositions(highlightItem.text); - positions.forEach(pos => { + positions.forEach((pos) => { if (pos >= 0 && pos < textContent.length) { tmpPos.push(textContent[pos].posKey); } @@ -163,7 +167,7 @@ export default function PDFViewer({ if (focusHighlight?.page === pageNumber && focusHighlight.text) { const positions = findTextPositions(focusHighlight.text); - positions.forEach(pos => { + positions.forEach((pos) => { if (pos >= 0 && pos < textContent.length) { tmpPosHighlight.push(textContent[pos].posKey); } @@ -191,10 +195,8 @@ export default function PDFViewer({ justifyContent="center" alignItems="center" width="100%" - maxWidth="900px" + maxWidth="850px" margin="0 auto" - minHeight="80vh" - height="auto" sx={{ backgroundColor: "#f5f5f5", borderRadius: 2, @@ -204,8 +206,8 @@ export default function PDFViewer({ setZoomLevel(z => Math.max(0.3, z - 0.1))} + onClick={() => setZoomLevel((z) => Math.max(0.3, z - 0.1))} title="Verkleinern" > @@ -269,7 +271,7 @@ export default function PDFViewer({ setZoomLevel(z => Math.min(3, z + 0.1))} + onClick={() => setZoomLevel((z) => Math.min(3, z + 0.1))} title="Vergrößern" >