This commit is contained in:
2026-03-09 15:31:34 +01:00
parent 84e3647fb5
commit 2d6687b4ad
5 changed files with 66 additions and 21 deletions

View File

@@ -1,13 +1,14 @@
import React from 'react'
import type { Connection } from '@xyflow/react'
import type { AppNode, AppEdge } from '@/lib/nodeTypes'
export type ConnectionFrom = { nodeId: string; sourceHandle?: string } | null
export type FlowContextValue = {
nodes: any[]
setNodes: (updater: any) => void
edges: any[]
setEdges: (updater: any) => void
nodes: AppNode[]
setNodes: (updater: AppNode[] | ((prev: AppNode[]) => AppNode[])) => void
edges: AppEdge[]
setEdges: (updater: AppEdge[] | ((prev: AppEdge[]) => AppEdge[])) => void
renamingNodeId: string | null
setRenamingNodeId: (id: string | null) => void
/** Set when user starts dragging from an output handle; cleared on connect end. Used to highlight valid targets. */

13
src/lib/nodeTypes.ts Normal file
View File

@@ -0,0 +1,13 @@
/**
* Central node and edge types for the app. Use AppNode / AppEdge in graph state and context.
*/
import type { Node, Edge } from '@xyflow/react'
import type { ConfigNodeData } from '@/components/nodes/ConfigNode'
import type { RenderingNodeData } from '@/components/nodes/RenderingNode'
import type { VariableNodeData } from '@/components/nodes/VariableNode'
import type { FunctionNodeData } from '@/components/nodes/FunctionNode'
export type AppNodeData = ConfigNodeData | RenderingNodeData | VariableNodeData | FunctionNodeData
export type AppNode = Node<AppNodeData>
export type AppEdge = Edge