22
33import { useCallback , useEffect , useMemo , useRef , useState } from 'react'
44import { Expand , X } from '@sim/emcn/icons'
5- import { CANVAS_Z_INDEX_MODE } from '@sim/workflow-renderer'
5+ import { CANVAS_Z_INDEX_MODE , useCanvasColorMode } from '@sim/workflow-renderer'
66import {
77 applyEdgeChanges ,
88 applyNodeChanges ,
@@ -21,7 +21,7 @@ import { BLOCK_DISPLAY_WORKFLOWS } from '@/components/workflow-preview/block-dis
2121import { BlockInspector } from '@/components/workflow-preview/block-inspector'
2222import { DocsBlockNode } from '@/components/workflow-preview/docs-block-node'
2323import { DocsContainerNode } from '@/components/workflow-preview/docs-container-node'
24- import { usePreviewColorMode } from '@/components/workflow-preview/use-preview-color-mode '
24+ import { FitViewAfterInit } from '@/components/workflow-preview/fit-view-after-init '
2525import {
2626 EASE_OUT ,
2727 type PreviewBlock ,
@@ -179,7 +179,8 @@ function PreviewFlow({
179179 [ workflow , animate , highlightBlock , highlightEdge , selectedBlock ]
180180 )
181181
182- const colorMode = usePreviewColorMode ( )
182+ const colorMode = useCanvasColorMode ( )
183+
183184 const [ nodes , setNodes ] = useState < PreviewNode [ ] > ( initialNodes )
184185 const [ edges , setEdges ] = useState < PreviewFlowEdge [ ] > ( initialEdges )
185186
@@ -208,34 +209,35 @@ function PreviewFlow({
208209 )
209210
210211 return (
211- < ReactFlow < PreviewNode , PreviewFlowEdge >
212- colorMode = { colorMode }
213- zIndexMode = { CANVAS_Z_INDEX_MODE }
214- nodes = { nodes }
215- edges = { edges }
216- onNodesChange = { onNodesChange }
217- onEdgesChange = { onEdgesChange }
218- onNodeClick = { onNodeClick ? ( _ , node ) => onNodeClick ( node . id ) : undefined }
219- onPaneClick = { onPaneClick }
220- nodeTypes = { NODE_TYPES }
221- edgeTypes = { EDGE_TYPES }
222- defaultEdgeOptions = { { type : 'previewEdge' } }
223- elementsSelectable = { false }
224- nodesDraggable
225- nodesConnectable = { false }
226- zoomOnScroll = { interactive }
227- zoomOnDoubleClick = { interactive }
228- panOnScroll = { false }
229- zoomOnPinch
230- panOnDrag
231- preventScrolling = { interactive }
232- autoPanOnNodeDrag = { false }
233- proOptions = { PRO_OPTIONS }
234- minZoom = { 0.1 }
235- fitView
236- fitViewOptions = { interactive ? LIGHTBOX_FIT_VIEW_OPTIONS : FIT_VIEW_OPTIONS }
237- className = 'h-full w-full'
238- />
212+ < >
213+ < ReactFlow < PreviewNode , PreviewFlowEdge >
214+ colorMode = { colorMode }
215+ zIndexMode = { CANVAS_Z_INDEX_MODE }
216+ nodes = { nodes }
217+ edges = { edges }
218+ onNodesChange = { onNodesChange }
219+ onEdgesChange = { onEdgesChange }
220+ onNodeClick = { onNodeClick ? ( _ , node ) => onNodeClick ( node . id ) : undefined }
221+ onPaneClick = { onPaneClick }
222+ nodeTypes = { NODE_TYPES }
223+ edgeTypes = { EDGE_TYPES }
224+ defaultEdgeOptions = { { type : 'previewEdge' } }
225+ elementsSelectable = { false }
226+ nodesDraggable
227+ nodesConnectable = { false }
228+ zoomOnScroll = { interactive }
229+ zoomOnDoubleClick = { interactive }
230+ panOnScroll = { false }
231+ zoomOnPinch
232+ panOnDrag
233+ preventScrolling = { interactive }
234+ autoPanOnNodeDrag = { false }
235+ proOptions = { PRO_OPTIONS }
236+ minZoom = { 0.1 }
237+ className = 'h-full w-full [--xy-background-color:var(--bg)]'
238+ />
239+ < FitViewAfterInit options = { interactive ? LIGHTBOX_FIT_VIEW_OPTIONS : FIT_VIEW_OPTIONS } />
240+ </ >
239241 )
240242}
241243
0 commit comments