From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001
From: wwf <yearningwang@iqtogether.com>
Date: 星期三, 04 六月 2025 15:17:49 +0800
Subject: [PATCH] 初始化

---
 app/components/workflow/nodes/question-classifier/components/class-item.tsx |   54 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/app/components/workflow/nodes/question-classifier/components/class-item.tsx b/app/components/workflow/nodes/question-classifier/components/class-item.tsx
index 6065037..1113164 100644
--- a/app/components/workflow/nodes/question-classifier/components/class-item.tsx
+++ b/app/components/workflow/nodes/question-classifier/components/class-item.tsx
@@ -2,31 +2,28 @@
 import type { FC } from 'react'
 import React, { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import type { Topic } from '../types'
-import Editor from '@/app/components/workflow/nodes/_base/components/prompt/editor'
-import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
-import type { ValueSelector, Var } from '@/app/components/workflow/types'
+import TextEditor from '../../_base/components/editor/text-editor'
 
 const i18nPrefix = 'workflow.nodes.questionClassifiers'
 
 type Props = {
-  nodeId: string
   payload: Topic
   onChange: (payload: Topic) => void
   onRemove: () => void
   index: number
   readonly?: boolean
-  filterVar: (payload: Var, valueSelector: ValueSelector) => boolean
 }
 
 const ClassItem: FC<Props> = ({
-  nodeId,
   payload,
   onChange,
   onRemove,
   index,
   readonly,
-  filterVar,
 }) => {
   const { t } = useTranslation()
 
@@ -34,26 +31,35 @@
     onChange({ ...payload, name: value })
   }, [onChange, payload])
 
-  const { availableVars, availableNodesWithParent } = useAvailableVarList(nodeId, {
-    onlyLeafNodeVar: false,
-    hideChatVar: false,
-    hideEnv: false,
-    filterVar,
-  })
-
   return (
-    <Editor
-      title={`${t(`${i18nPrefix}.class`)} ${index}`}
-      placeholder={t(`${i18nPrefix}.topicPlaceholder`)!}
+    <TextEditor
+      isInNode
+      title={<div>
+        <div className='w-[200px]'>
+          <div
+            className='leading-4 text-xs font-semibold text-gray-700'
+          >
+            {`${t(`${i18nPrefix}.class`)} ${index}`}
+          </div>
+        </div>
+      </div>}
       value={payload.name}
       onChange={handleNameChange}
-      showRemove
-      onRemove={onRemove}
-      nodesOutputVars={availableVars}
-      availableNodes={availableNodesWithParent}
-      readOnly={readonly} // ?
-      justVar // ?
-      isSupportFileVar // ?
+      placeholder={t(`${i18nPrefix}.topicPlaceholder`)!}
+      headerRight={(
+        <div className='flex items-center h-full'>
+          <div className='text-xs font-medium text-gray-500'>{payload.name.length}</div>
+          <div className='mx-3 h-3 w-px bg-gray-200'></div>
+          {!readonly && (
+            <RiDeleteBinLine
+              className='mr-1 w-3.5 h-3.5 text-gray-500 cursor-pointer'
+              onClick={onRemove}
+            />
+          )}
+        </div>
+      )}
+      readonly={readonly}
+      minHeight={64}
     />
   )
 }

--
Gitblit v1.8.0