diff --git a/client/src/store/nodeStore.ts b/client/src/store/nodeStore.ts new file mode 100644 index 0000000..a929861 --- /dev/null +++ b/client/src/store/nodeStore.ts @@ -0,0 +1,25 @@ +import { Edge, Node } from "@xyflow/react"; +import { create } from "zustand"; +import { devtools } from "zustand/middleware"; + +type NodeStoreState = { + node: Node; + edge: Edge; + loading: boolean; +}; + +type NodeStoreActions = { + addNode: (node: Node) => void; + addEdge: (edge: Edge) => void; + removeNode: (nodeId: string) => void; + removeEdge: (edgeId: string) => void; +}; + +type NodeStore = NodeStoreState & NodeStoreActions; + +export const useNodeStore = create()( + devtools((set) => ({ + nodes: [], + edges: [], + })) +);