This commit is contained in:
2025-12-10 14:38:34 +01:00
parent 8cc5ed854a
commit f6bd6e2feb
+14 -2
View File
@@ -1,4 +1,4 @@
import { useCallback, useEffect, useMemo } from 'react'; import { useCallback, useEffect, useMemo, useRef } from 'react';
import type { ComponentProps, ReactNode } from 'react'; import type { ComponentProps, ReactNode } from 'react';
import { SidebarExpandIcon } from '../components/icons'; import { SidebarExpandIcon } from '../components/icons';
import DocumentsPanel from '../documents/panel/DocumentsPanel'; import DocumentsPanel from '../documents/panel/DocumentsPanel';
@@ -70,11 +70,23 @@ export const useWorkspaceSurface = ({
return () => registerDetailCloseHandler(null); return () => registerDetailCloseHandler(null);
}, [registerDetailCloseHandler, detailPanelProps?.onClose]); }, [registerDetailCloseHandler, detailPanelProps?.onClose]);
const setDetailActiveRef = useRef(setDetailActive);
useEffect(() => {
setDetailActiveRef.current = setDetailActive;
}, [setDetailActive]);
useEffect(() => { useEffect(() => {
setDetailActive(Boolean(detailPanelOpen)); setDetailActive(Boolean(detailPanelOpen));
return () => setDetailActive(false);
}, [detailPanelOpen, setDetailActive]); }, [detailPanelOpen, setDetailActive]);
useEffect(() => {
return () => {
if (setDetailActiveRef.current) {
setDetailActiveRef.current(false);
}
};
}, []);
const renderSidebarToggle = useCallback<() => ReactNode>(() => { const renderSidebarToggle = useCallback<() => ReactNode>(() => {
if (!sidebarHidden) { if (!sidebarHidden) {
return null; return null;