panel
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import React, { useCallback, useMemo } from 'react';
|
||||
import React, { useCallback, useEffect, useMemo } from 'react';
|
||||
import { SidebarExpandIcon } from '../ui/icons';
|
||||
import { createDocumentsSurface } from '../documents/DocumentsPanel';
|
||||
import { createDocumentViewerSurface } from '../preview/DocumentViewerPanel';
|
||||
import createDesktopSurface from '../desktop/createDesktopSurface';
|
||||
import { usePanelManager } from './PanelManagerContext';
|
||||
|
||||
export const useWorkspaceSurface = ({
|
||||
sidebarHidden,
|
||||
@@ -24,6 +25,19 @@ export const useWorkspaceSurface = ({
|
||||
parentBreadcrumb,
|
||||
onNavigateParent,
|
||||
}) => {
|
||||
const { registerDetailCloseHandler, setDetailActive } = usePanelManager();
|
||||
|
||||
useEffect(() => {
|
||||
const handler = detailPanelProps?.onClose || null;
|
||||
registerDetailCloseHandler(handler);
|
||||
return () => registerDetailCloseHandler(null);
|
||||
}, [registerDetailCloseHandler, detailPanelProps?.onClose]);
|
||||
|
||||
useEffect(() => {
|
||||
setDetailActive(Boolean(detailPanelOpen));
|
||||
return () => setDetailActive(false);
|
||||
}, [detailPanelOpen, setDetailActive]);
|
||||
|
||||
const renderSidebarToggle = useCallback(() => {
|
||||
if (!sidebarHidden) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user