import { useState } from 'react' import { useTranslation } from 'react-i18next' import { RiArrowRightSLine, RiDeleteBinLine, RiFileList3Line, RiLoader2Line, // RiErrorWarningFill, } from '@remixicon/react' // import Button from '@/app/components/base/button' import ActionButton from '@/app/components/base/action-button' import Tooltip from '@/app/components/base/tooltip' import BlockIcon from '@/app/components/workflow/block-icon' import { BubbleX, Env, } from '@/app/components/base/icons/src/vender/line/others' import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development' import type { currentVarType } from './panel' import { VarInInspectType } from '@/types/workflow' import type { NodeWithVar, VarInInspect } from '@/types/workflow' import cn from '@/utils/classnames' import { useToolIcon } from '../hooks' type Props = { nodeData?: NodeWithVar currentVar?: currentVarType varType: VarInInspectType varList: VarInInspect[] handleSelect: (state: any) => void handleView?: () => void handleClear?: () => void } const Group = ({ nodeData, currentVar, varType, varList, handleSelect, handleView, handleClear, }: Props) => { const { t } = useTranslation() const [isCollapsed, setIsCollapsed] = useState(false) const toolIcon = useToolIcon(nodeData?.nodePayload as any) const isEnv = varType === VarInInspectType.environment const isChatVar = varType === VarInInspectType.conversation const isSystem = varType === VarInInspectType.system const visibleVarList = isEnv ? varList : varList.filter(v => v.visible) const handleSelectVar = (varItem: any, type?: string) => { if (type === VarInInspectType.environment) { handleSelect({ nodeId: VarInInspectType.environment, title: VarInInspectType.environment, nodeType: VarInInspectType.environment, var: { ...varItem, type: VarInInspectType.environment, ...(varItem.value_type === 'secret' ? { value: '******************' } : {}), }, }) return } if (type === VarInInspectType.conversation) { handleSelect({ nodeId: VarInInspectType.conversation, nodeType: VarInInspectType.conversation, title: VarInInspectType.conversation, var: { ...varItem, type: VarInInspectType.conversation, }, }) return } if (type === VarInInspectType.system) { handleSelect({ nodeId: VarInInspectType.system, nodeType: VarInInspectType.system, title: VarInInspectType.system, var: { ...varItem, type: VarInInspectType.system, }, }) return } if (!nodeData) return handleSelect({ nodeId: nodeData.nodeId, nodeType: nodeData.nodeType, title: nodeData.title, var: varItem, }) } return (