| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | import { useMemo } from 'react'import { useGetLanguage } from '@/context/i18n'import { BlockEnum } from '@/app/components/workflow/types'export const useNodeHelpLink = (nodeType: BlockEnum) => {  const language = useGetLanguage()  const prefixLink = useMemo(() => {    if (language === 'zh_Hans')      return 'https://docs.dify.ai/v/zh-hans/guides/workflow/node/'    return 'https://docs.dify.ai/guides/workflow/node/'  }, [language])  const linkMap = useMemo(() => {    if (language === 'zh_Hans') {      return {        [BlockEnum.Start]: 'start',        [BlockEnum.End]: 'end',        [BlockEnum.Answer]: 'answer',        [BlockEnum.LLM]: 'llm',        [BlockEnum.KnowledgeRetrieval]: 'knowledge-retrieval',        [BlockEnum.QuestionClassifier]: 'question-classifier',        [BlockEnum.IfElse]: 'ifelse',        [BlockEnum.Code]: 'code',        [BlockEnum.TemplateTransform]: 'template',        [BlockEnum.VariableAssigner]: 'variable-assigner',        [BlockEnum.VariableAggregator]: 'variable-aggregator',        [BlockEnum.Assigner]: 'variable-assigner',        [BlockEnum.Iteration]: 'iteration',        [BlockEnum.IterationStart]: 'iteration',        [BlockEnum.ParameterExtractor]: 'parameter-extractor',        [BlockEnum.HttpRequest]: 'http-request',        [BlockEnum.Tool]: 'tools',        [BlockEnum.DocExtractor]: 'doc-extractor',        [BlockEnum.ListFilter]: 'list-operator',      }    }    return {      [BlockEnum.Start]: 'start',      [BlockEnum.End]: 'end',      [BlockEnum.Answer]: 'answer',      [BlockEnum.LLM]: 'llm',      [BlockEnum.KnowledgeRetrieval]: 'knowledge-retrieval',      [BlockEnum.QuestionClassifier]: 'question-classifier',      [BlockEnum.IfElse]: 'ifelse',      [BlockEnum.Code]: 'code',      [BlockEnum.TemplateTransform]: 'template',      [BlockEnum.VariableAssigner]: 'variable-assigner',      [BlockEnum.VariableAggregator]: 'variable-aggregator',      [BlockEnum.Assigner]: 'variable-assigner',      [BlockEnum.Iteration]: 'iteration',      [BlockEnum.IterationStart]: 'iteration',      [BlockEnum.ParameterExtractor]: 'parameter-extractor',      [BlockEnum.HttpRequest]: 'http-request',      [BlockEnum.Tool]: 'tools',      [BlockEnum.DocExtractor]: 'doc-extractor',      [BlockEnum.ListFilter]: 'list-operator',    }  }, [language])  return `${prefixLink}${linkMap[nodeType]}`}
 |