| 
                        1234567891011121314151617181920212223242526272829303132 | 
                        - import { useMemo } from 'react'
 - import { useTranslation } from 'react-i18next'
 - import produce from 'immer'
 - import type { BlockEnum } from '../types'
 - import {
 -   NODES_EXTRA_DATA,
 -   NODES_INITIAL_DATA,
 - } from '../constants'
 - import { useIsChatMode } from './use-workflow'
 - 
 - export const useNodesInitialData = () => {
 -   const { t } = useTranslation()
 - 
 -   return useMemo(() => produce(NODES_INITIAL_DATA, (draft) => {
 -     Object.keys(draft).forEach((key) => {
 -       draft[key as BlockEnum].title = t(`workflow.blocks.${key}`)
 -     })
 -   }), [t])
 - }
 - 
 - export const useNodesExtraData = () => {
 -   const { t } = useTranslation()
 -   const isChatMode = useIsChatMode()
 - 
 -   return useMemo(() => produce(NODES_EXTRA_DATA, (draft) => {
 -     Object.keys(draft).forEach((key) => {
 -       draft[key as BlockEnum].about = t(`workflow.blocksAbout.${key}`)
 -       draft[key as BlockEnum].availablePrevNodes = draft[key as BlockEnum].getAvailablePrevNodes(isChatMode)
 -       draft[key as BlockEnum].availableNextNodes = draft[key as BlockEnum].getAvailableNextNodes(isChatMode)
 -     })
 -   }), [t, isChatMode])
 - }
 
 
  |