This commit is contained in:
2025-11-22 02:41:14 +01:00
parent 7bee56b960
commit 132d9e3d02
5 changed files with 38 additions and 41 deletions
@@ -264,6 +264,7 @@ const PreviewZoomOverlay: React.FC<PreviewZoomOverlayProps> = ({
if (isPdfDisplay) { if (isPdfDisplay) {
return; return;
} }
event.stopPropagation();
toggleZoomAtPoint(event.clientX ?? 0, event.clientY ?? 0); toggleZoomAtPoint(event.clientX ?? 0, event.clientY ?? 0);
}; };
+2 -7
View File
@@ -1,4 +1,5 @@
import React, { import React, {
Children,
useCallback, useCallback,
useEffect, useEffect,
useMemo, useMemo,
@@ -432,13 +433,7 @@ const DocumentViewerPanel: React.FC<DocumentViewerPanelProps> = ({
const headerLeadingButtons = isSidebarVariant const headerLeadingButtons = isSidebarVariant
? [collapseButton, maximizeButton].filter(Boolean) ? [collapseButton, maximizeButton].filter(Boolean)
: [sidebarToggle, closeButton].filter(Boolean); : [sidebarToggle, closeButton].filter(Boolean);
const headerLeadingContent = headerLeadingButtons.length const headerLeadingContent = headerLeadingButtons.length ? Children.toArray(headerLeadingButtons) : null;
? (
<>
{headerLeadingButtons}
</>
)
: null;
const resizeHandle = isSidebarVariant ? ( const resizeHandle = isSidebarVariant ? (
<button <button
+2 -2
View File
@@ -82,8 +82,8 @@ const resolvePdfWasmBaseUrl = (): string => {
const PdfViewer = ({ src, title, className, viewportRef }: PdfViewerProps): JSX.Element => { const PdfViewer = ({ src, title, className, viewportRef }: PdfViewerProps): JSX.Element => {
const containerRef = useRef<HTMLDivElement>(null); const containerRef = useRef<HTMLDivElement>(null);
const [viewportWidth, setViewportWidth] = useState(() => window.innerWidth); const [viewportWidth, setViewportWidth] = useState(0);
const [viewportHeight, setViewportHeight] = useState(() => window.innerHeight); const [viewportHeight, setViewportHeight] = useState(0);
const [renderWidth, setRenderWidth] = useState(0); const [renderWidth, setRenderWidth] = useState(0);
const [status, setStatus] = useState<RenderStatus>('idle'); const [status, setStatus] = useState<RenderStatus>('idle');
const [errorMessage, setErrorMessage] = useState<string | null>(null); const [errorMessage, setErrorMessage] = useState<string | null>(null);
+2 -2
View File
@@ -455,8 +455,8 @@
flex-direction: column; flex-direction: column;
gap: var(--pdf-viewer-stack-padding, 0); gap: var(--pdf-viewer-stack-padding, 0);
align-items: center; align-items: center;
--pdf-viewer-viewport-width: 100vw; --pdf-viewer-viewport-width: 100%;
--pdf-viewer-viewport-height: 100vh; --pdf-viewer-viewport-height: 100%;
padding: var(--pdf-viewer-stack-padding, 0); padding: var(--pdf-viewer-stack-padding, 0);
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
+12 -11
View File
@@ -23,44 +23,45 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
max-width: 95vw; max-width: 99vw;
max-height: 95vh; max-height: 99vh;
z-index: 3000000; z-index: 3000000;
} }
.preview-zoom__stage--pdf { .preview-zoom__stage--pdf {
width: 100%; width: 100%;
height: 100%; height: 100%;
max-width: none; max-width: 99vw;
max-height: none; max-height: 99vh;
} }
.preview-zoom__image { .preview-zoom__image {
max-width: 95vw; max-width: 99vw;
max-height: 95vh; max-height: 99vh;
width: auto; width: auto;
height: auto; height: auto;
box-shadow: 0 32px 120px var(--shadow-deep);
} }
.preview-zoom__scroll { .preview-zoom__scroll {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
max-width: 95vw; max-width: 99vw;
max-height: 95vh; max-height: 99vh;
} }
.preview-zoom__scroll--pdf { .preview-zoom__scroll--pdf {
width: 100%; width: 100%;
height: 100%; height: 100%;
max-width: none; max-width: 99vw;
max-height: none; max-height: 99vh;
padding: 0; padding: 0;
box-sizing: border-box; box-sizing: border-box;
overflow: auto; overflow: auto;
align-items: flex-start; align-items: flex-start;
justify-content: center; justify-content: center;
--pdf-viewer-stack-padding: 2rem; --pdf-viewer-stack-padding: 1vh;
} }
.preview-zoom__scroll:focus { .preview-zoom__scroll:focus {