import type { FC, ReactNode, } from 'react' import { memo, useMemo } from 'react' import { getOutgoers, useNodeId, } from 'reactflow' import { useWorkflowContext } from '../../context' import BlockSelector from '../../block-selector' import BlockIcon from '../../block-icon' import { Plus } from '@/app/components/base/icons/src/vender/line/general' type BaseNodeProps = { children: ReactNode } const BaseNode: FC = ({ children, }) => { const nodeId = useNodeId() const { nodes, edges, selectedNodeId, handleSelectedNodeIdChange, } = useWorkflowContext() const currentNode = useMemo(() => { return nodes.find(node => node.id === nodeId) }, [nodeId, nodes]) const outgoers = useMemo(() => { return getOutgoers(currentNode!, nodes, edges) }, [currentNode, nodes, edges]) return (
handleSelectedNodeIdChange(nodeId || '')} >
START
{children}
Define the initial parameters for launching a workflow
) } export default memo(BaseNode)