| 123456789101112131415161718192021222324252627282930313233343536 | import { useCallback } from 'react'import { useStoreApi } from 'reactflow'import produce from 'immer'import type { IterationNextResponse } from '@/types/workflow'import { useWorkflowStore } from '@/app/components/workflow/store'export const useWorkflowNodeIterationNext = () => {  const store = useStoreApi()  const workflowStore = useWorkflowStore()  const handleWorkflowNodeIterationNext = useCallback((params: IterationNextResponse) => {    const {      iterTimes,      setIterTimes,    } = workflowStore.getState()    const { data } = params    const {      getNodes,      setNodes,    } = store.getState()    const nodes = getNodes()    const newNodes = produce(nodes, (draft) => {      const currentNode = draft.find(node => node.id === data.node_id)!      currentNode.data._iterationIndex = iterTimes      setIterTimes(iterTimes + 1)    })    setNodes(newNodes)  }, [workflowStore, store])  return {    handleWorkflowNodeIterationNext,  }}
 |