| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | import type { FC } from 'react'import React from 'react'import { useTranslation } from 'react-i18next'import useConfig from './use-config'import type { AnswerNodeType } from './types'import Editor from '@/app/components/workflow/nodes/_base/components/prompt/editor'import type { NodePanelProps } from '@/app/components/workflow/types'import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'const i18nPrefix = 'workflow.nodes.answer'const Panel: FC<NodePanelProps<AnswerNodeType>> = ({  id,  data,}) => {  const { t } = useTranslation()  const {    readOnly,    inputs,    handleAnswerChange,    filterVar,  } = useConfig(id, data)  const { availableVars, availableNodesWithParent } = useAvailableVarList(id, {    onlyLeafNodeVar: false,    hideChatVar: true,    hideEnv: true,    filterVar,  })  return (    <div className='mt-2 mb-2 px-4 space-y-4'>      <Editor        readOnly={readOnly}        justVar        title={t(`${i18nPrefix}.answer`)!}        value={inputs.answer}        onChange={handleAnswerChange}        nodesOutputVars={availableVars}        availableNodes={availableNodesWithParent}      />    </div>  )}export default React.memo(Panel)
 |