mirror of
https://github.com/langgenius/dify.git
synced 2026-04-27 22:18:15 +08:00
24 lines
668 B
TypeScript
24 lines
668 B
TypeScript
import { create } from 'zustand'
|
|
import type { EdgeMouseHandler } from 'reactflow'
|
|
|
|
type State = {
|
|
mode: string
|
|
selectedNodeId: string
|
|
hoveringEdgeId: string
|
|
}
|
|
|
|
type Action = {
|
|
handleSelectedNodeId: (selectedNodeId: State['selectedNodeId']) => void
|
|
handleEnterEdge: EdgeMouseHandler
|
|
handleLeaveEdge: EdgeMouseHandler
|
|
}
|
|
|
|
export const useStore = create<State & Action>(set => ({
|
|
mode: 'workflow',
|
|
selectedNodeId: '',
|
|
handleSelectedNodeId: selectedNodeId => set(() => ({ selectedNodeId })),
|
|
hoveringEdgeId: '',
|
|
handleEnterEdge: (_, edge) => set(() => ({ hoveringEdgeId: edge.id })),
|
|
handleLeaveEdge: () => set(() => ({ hoveringEdgeId: '' })),
|
|
}))
|