import 'reactflow/dist/style.css'; import { Box, Flex } from '@invoke-ai/ui-library'; import { useAppSelector } from 'app/store/storeHooks'; import { overlayScrollbarsParams } from 'common/components/OverlayScrollbars/constants'; import { useWorkflowListMenu } from 'features/nodes/store/workflowListMenu'; import { selectWorkflowMode } from 'features/nodes/store/workflowSlice'; import ResizeHandle from 'features/ui/components/tabs/ResizeHandle'; import { OverlayScrollbarsComponent } from 'overlayscrollbars-react'; import type { CSSProperties } from 'react'; import { memo, useCallback, useRef } from 'react'; import type { ImperativePanelGroupHandle } from 'react-resizable-panels'; import { Panel, PanelGroup } from 'react-resizable-panels'; import InspectorPanel from './inspector/InspectorPanel'; import { WorkflowViewMode } from './viewMode/WorkflowViewMode'; import WorkflowPanel from './workflow/WorkflowPanel'; import { WorkflowListMenu } from './WorkflowListMenu/WorkflowListMenu'; import { WorkflowListMenuTrigger } from './WorkflowListMenu/WorkflowListMenuTrigger'; const panelGroupStyles: CSSProperties = { height: '100%', width: '100%' }; const overlayScrollbarsStyles: CSSProperties = { height: '100%', width: '100%', }; const NodeEditorPanelGroup = () => { const mode = useAppSelector(selectWorkflowMode); const panelGroupRef = useRef(null); const workflowListMenu = useWorkflowListMenu(); const handleDoubleClickHandle = useCallback(() => { if (!panelGroupRef.current) { return; } panelGroupRef.current.setLayout([50, 50]); }, []); return ( {workflowListMenu.isOpen && ( )} {mode === 'view' && } {mode === 'edit' && ( )} ); }; export default memo(NodeEditorPanelGroup);