use-workflow-text-replace.ts 684 B

123456789101112131415161718192021222324
  1. import { useCallback } from 'react'
  2. import produce from 'immer'
  3. import type { TextReplaceResponse } from '@/types/workflow'
  4. import { useWorkflowStore } from '@/app/components/workflow/store'
  5. export const useWorkflowTextReplace = () => {
  6. const workflowStore = useWorkflowStore()
  7. const handleWorkflowTextReplace = useCallback((params: TextReplaceResponse) => {
  8. const { data: { text } } = params
  9. const {
  10. workflowRunningData,
  11. setWorkflowRunningData,
  12. } = workflowStore.getState()
  13. setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
  14. draft.resultText = text
  15. }))
  16. }, [workflowStore])
  17. return {
  18. handleWorkflowTextReplace,
  19. }
  20. }