Merge remote-tracking branch 'ui/ui' into dev

This commit is contained in:
2025-11-12 02:42:42 +01:00
+14 -11
View File
@@ -98,6 +98,17 @@ const getSidebarWidthFromRoot = () => {
return Number.isFinite(parsed) ? parsed : null; return Number.isFinite(parsed) ? parsed : null;
}; };
const shouldSuppressSidebarForDetailWidth = (detailWidth) => {
if (!isBrowser || !Number.isFinite(detailWidth)) {
return false;
}
const sidebarWidth = getSidebarWidthFromRoot() || 0;
const minMainContentWidth = window.innerWidth / 3;
const occupiedWidth = detailWidth + sidebarWidth;
const availableWidth = window.innerWidth - occupiedWidth;
return availableWidth < minMainContentWidth;
};
export const createDocumentViewerHeaderActions = ({ export const createDocumentViewerHeaderActions = ({
document, document,
actionState, actionState,
@@ -343,15 +354,7 @@ const DocumentViewerPanel = ({
const panelWidth = pendingWidthRef.current const panelWidth = pendingWidthRef.current
?? detailPanelWidth ?? detailPanelWidth
?? panelRef.current?.getBoundingClientRect().width; ?? panelRef.current?.getBoundingClientRect().width;
const sidebarWidth = getSidebarWidthFromRoot(); setSidebarSuppressed(shouldSuppressSidebarForDetailWidth(panelWidth));
if (!Number.isFinite(panelWidth)) {
setSidebarSuppressed(false);
return;
}
const minMainContentWidth = (window.innerWidth * 2) / 5;
const occupiedWidth = panelWidth + (Number.isFinite(sidebarWidth) ? sidebarWidth : 0);
const availableWidth = window.innerWidth - occupiedWidth;
setSidebarSuppressed(availableWidth < minMainContentWidth);
}; };
updateSuppression(); updateSuppression();
@@ -414,8 +417,8 @@ const DocumentViewerPanel = ({
if (clamped != null) { if (clamped != null) {
pendingWidthRef.current = clamped; pendingWidthRef.current = clamped;
applyDetailPanelWidth(clamped); applyDetailPanelWidth(clamped);
if (isSidebarVariant && isBrowser) { if (isSidebarVariant) {
setSidebarSuppressed(clamped > window.innerWidth / 2); setSidebarSuppressed(shouldSuppressSidebarForDetailWidth(clamped));
} }
} }
}; };