|  | @@ -0,0 +1,54 @@
 | 
	
		
			
				|  |  | +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/features/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_assigner',
 | 
	
		
			
				|  |  | +        [BlockEnum.Iteration]: 'iteration',
 | 
	
		
			
				|  |  | +        [BlockEnum.ParameterExtractor]: 'parameter_extractor',
 | 
	
		
			
				|  |  | +        [BlockEnum.HttpRequest]: 'http_request',
 | 
	
		
			
				|  |  | +        [BlockEnum.Tool]: 'tools',
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      [BlockEnum.Start]: 'start',
 | 
	
		
			
				|  |  | +      [BlockEnum.End]: 'end',
 | 
	
		
			
				|  |  | +      [BlockEnum.Answer]: 'answer',
 | 
	
		
			
				|  |  | +      [BlockEnum.LLM]: 'llm',
 | 
	
		
			
				|  |  | +      [BlockEnum.KnowledgeRetrieval]: 'knowledge-retrieval',
 | 
	
		
			
				|  |  | +      [BlockEnum.QuestionClassifier]: 'question-classifier',
 | 
	
		
			
				|  |  | +      [BlockEnum.IfElse]: 'if-else',
 | 
	
		
			
				|  |  | +      [BlockEnum.Code]: 'code',
 | 
	
		
			
				|  |  | +      [BlockEnum.TemplateTransform]: 'template',
 | 
	
		
			
				|  |  | +      [BlockEnum.VariableAssigner]: 'variable-assigner',
 | 
	
		
			
				|  |  | +      [BlockEnum.VariableAggregator]: 'variable-assigner',
 | 
	
		
			
				|  |  | +      [BlockEnum.Iteration]: 'iteration',
 | 
	
		
			
				|  |  | +      [BlockEnum.ParameterExtractor]: 'parameter-extractor',
 | 
	
		
			
				|  |  | +      [BlockEnum.HttpRequest]: 'http-request',
 | 
	
		
			
				|  |  | +      [BlockEnum.Tool]: 'tools',
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }, [language])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return `${prefixLink}${linkMap[nodeType]}`
 | 
	
		
			
				|  |  | +}
 |