Compare commits

..

No commits in common. "81c5d8ff46dcc5fc983109fb2348b6d6dfb129d2" and "3755bfde3438c8688e56c028fc4479d64bcfc880" have entirely different histories.

2 changed files with 14 additions and 21 deletions

View File

@ -62,26 +62,20 @@ const EmbedPdfViewerContent = ({
// Handle scroll wheel zoom // Handle scroll wheel zoom
React.useEffect(() => { React.useEffect(() => {
let accumulator = 0;
const handleWheel = (event: WheelEvent) => { const handleWheel = (event: WheelEvent) => {
// Check if Ctrl (Windows/Linux) or Cmd (Mac) is pressed // Check if Ctrl (Windows/Linux) or Cmd (Mac) is pressed
if (event.ctrlKey || event.metaKey) { if (event.ctrlKey || event.metaKey) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
// Convert smooth scrolling gestures into discrete notches
accumulator += event.deltaY;
const threshold = 10;
const zoomAPI = window.embedPdfZoom; const zoomAPI = window.embedPdfZoom;
if (zoomAPI) { if (zoomAPI) {
if (accumulator <= -threshold) { if (event.deltaY < 0) {
// Scroll up - zoom in
zoomAPI.zoomIn(); zoomAPI.zoomIn();
accumulator = 0; } else {
} else if (accumulator >= threshold) { // Scroll down - zoom out
zoomAPI.zoomOut(); zoomAPI.zoomOut();
accumulator = 0;
} }
} }
} }
@ -127,21 +121,21 @@ const EmbedPdfViewerContent = ({
// Expose toggle functions globally for right rail buttons // Expose toggle functions globally for right rail buttons
React.useEffect(() => { React.useEffect(() => {
window.toggleThumbnailSidebar = toggleThumbnailSidebar; window.toggleThumbnailSidebar = toggleThumbnailSidebar;
return () => { return () => {
delete window.toggleThumbnailSidebar; delete window.toggleThumbnailSidebar;
}; };
}, [toggleThumbnailSidebar]); }, [toggleThumbnailSidebar]);
return ( return (
<Box <Box
ref={viewerRef} ref={viewerRef}
onMouseEnter={() => setIsViewerHovered(true)} onMouseEnter={() => setIsViewerHovered(true)}
onMouseLeave={() => setIsViewerHovered(false)} onMouseLeave={() => setIsViewerHovered(false)}
style={{ style={{
position: 'relative', position: 'relative',
height: '100%', height: '100%',
display: 'flex', display: 'flex',
flexDirection: 'column', flexDirection: 'column',
overflow: 'hidden', overflow: 'hidden',
contain: 'layout style paint' contain: 'layout style paint'
@ -175,9 +169,9 @@ const EmbedPdfViewerContent = ({
)} )}
{/* EmbedPDF Viewer */} {/* EmbedPDF Viewer */}
<Box style={{ <Box style={{
position: 'relative', position: 'relative',
flex: 1, flex: 1,
overflow: 'hidden', overflow: 'hidden',
minHeight: 0, minHeight: 0,
minWidth: 0 minWidth: 0
@ -243,4 +237,4 @@ const EmbedPdfViewer = (props: EmbedPdfViewerProps) => {
); );
}; };
export default EmbedPdfViewer; export default EmbedPdfViewer;

View File

@ -12,5 +12,4 @@ export default defineConfig({
}, },
}, },
}, },
base: "http://localhost:8080",
}); });