diff --git a/frontend/src/components/viewer/EmbedPdfViewer.tsx b/frontend/src/components/viewer/EmbedPdfViewer.tsx index 09860e517..cd1c5ece4 100644 --- a/frontend/src/components/viewer/EmbedPdfViewer.tsx +++ b/frontend/src/components/viewer/EmbedPdfViewer.tsx @@ -63,18 +63,36 @@ const EmbedPdfViewerContent = ({ // Handle scroll wheel zoom React.useEffect(() => { + let accumulator = 0; + const handleWheel = (event: WheelEvent) => { // Check if Ctrl (Windows/Linux) or Cmd (Mac) is pressed if (event.ctrlKey || event.metaKey) { event.preventDefault(); event.stopPropagation(); +<<<<<<< HEAD if (event.deltaY < 0) { // Scroll up - zoom in zoomActions.zoomIn(); } else { // Scroll down - zoom out zoomActions.zoomOut(); +======= + // Convert smooth scrolling gestures into discrete notches + accumulator += event.deltaY; + const threshold = 10; + + const zoomAPI = window.embedPdfZoom; + if (zoomAPI) { + if (accumulator <= -threshold) { + zoomAPI.zoomIn(); + accumulator = 0; + } else if (accumulator >= threshold) { + zoomAPI.zoomOut(); + accumulator = 0; + } +>>>>>>> 81c5d8ff46dcc5fc983109fb2348b6d6dfb129d2 } } }; @@ -113,16 +131,27 @@ const EmbedPdfViewerContent = ({ }; }, [isViewerHovered]); +<<<<<<< HEAD +======= + // Expose toggle functions globally for right rail buttons + React.useEffect(() => { + window.toggleThumbnailSidebar = toggleThumbnailSidebar; + + return () => { + delete window.toggleThumbnailSidebar; + }; + }, [toggleThumbnailSidebar]); +>>>>>>> 81c5d8ff46dcc5fc983109fb2348b6d6dfb129d2 return ( - setIsViewerHovered(true)} onMouseLeave={() => setIsViewerHovered(false)} - style={{ - position: 'relative', - height: '100%', - display: 'flex', + style={{ + position: 'relative', + height: '100%', + display: 'flex', flexDirection: 'column', overflow: 'hidden', contain: 'layout style paint' @@ -156,12 +185,14 @@ const EmbedPdfViewerContent = ({ )} {/* EmbedPDF Viewer */} - { return ; }; -export default EmbedPdfViewer; \ No newline at end of file +export default EmbedPdfViewer; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index d957fa3f0..dd596b1aa 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -12,4 +12,5 @@ export default defineConfig({ }, }, }, + base: "http://localhost:8080", });