fix
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user