This commit is contained in:
2025-11-01 13:59:46 +01:00
parent 9aed7ec524
commit 6f6ee59461
+20 -2
View File
@@ -496,12 +496,27 @@ const AppLayout = () => {
const [detailPanelOpen, setDetailPanelOpen] = useState(() => selectedDocumentIds.length > 0);
const [detailPanelDocIds, setDetailPanelDocIds] = useState([]);
const [detailPanelDocs, setDetailPanelDocs] = useState([]);
const detailPanelAutoOpenRef = useRef(true);
const detailPanelSelectionTokenRef = useRef(selectedDocumentIds.join('|'));
useEffect(() => {
if (selectedDocumentIds.length > 0 && !detailPanelOpen) {
const token = selectedDocumentIds.join('|');
if (token !== detailPanelSelectionTokenRef.current) {
detailPanelSelectionTokenRef.current = token;
detailPanelAutoOpenRef.current = true;
}
if (selectedDocumentIds.length === 0) {
if (detailPanelOpen) {
setDetailPanelOpen(false);
}
return;
}
if (!detailPanelOpen && detailPanelAutoOpenRef.current && !previewDocumentId) {
setDetailPanelOpen(true);
}
}, [selectedDocumentIds, detailPanelOpen]);
}, [selectedDocumentIds, detailPanelOpen, previewDocumentId]);
const resetWorkspaceState = useCallback(() => {
const rootNode = createRootNode();
@@ -3382,6 +3397,8 @@ const AppLayout = () => {
const openDocumentPreview = useCallback(
(documentId, { replace = false } = {}) => {
if (!documentId) return;
detailPanelAutoOpenRef.current = false;
setDetailPanelOpen(false);
previewReturnPathRef.current = `${location.pathname}${location.search}`;
navigate(`/documents/${documentId}`, { replace });
},
@@ -5134,6 +5151,7 @@ const AppLayout = () => {
);
const handleDetailPanelClose = useCallback(() => {
detailPanelAutoOpenRef.current = false;
setDetailPanelOpen(false);
clearDocumentSelection();
setDetailPanelDocIds([]);