import { memo } from "react"; import { Handle, Position } from "@xyflow/react"; import type { Node, NodeProps } from "@xyflow/react"; import { useDashboardStore } from "../store"; export interface StepNodeData extends Record { label: string; summary: string; filePath?: string; stepId: string; order: number; } export type StepFlowNode = Node; function StepNode({ data }: NodeProps) { const selectNode = useDashboardStore((s) => s.selectNode); const selectedNodeId = useDashboardStore((s) => s.selectedNodeId); const isSelected = selectedNodeId === data.stepId; return (
selectNode(data.stepId)} >
{data.order} {data.label}
{data.summary}
{data.filePath && (
{data.filePath}
)}
); } export default memo(StepNode);