From 156b779a1d5b28e09d8299d08c4039b10bff9c53 Mon Sep 17 00:00:00 2001 From: Joel Date: Wed, 28 Jan 2026 15:42:45 +0800 Subject: [PATCH] chore: enchance ui --- .../llm/components/computer-use-config.tsx | 2 +- .../llm/components/reference-tool-config.tsx | 97 ++++++++++++------- 2 files changed, 62 insertions(+), 37 deletions(-) diff --git a/web/app/components/workflow/nodes/llm/components/computer-use-config.tsx b/web/app/components/workflow/nodes/llm/components/computer-use-config.tsx index f27cb2731c..7ddad20c73 100644 --- a/web/app/components/workflow/nodes/llm/components/computer-use-config.tsx +++ b/web/app/components/workflow/nodes/llm/components/computer-use-config.tsx @@ -55,7 +55,7 @@ const ComputerUseConfig: FC = ({ )} > -
+
{t(`${i18nPrefix}.referenceTools`, { ns: 'workflow' })} diff --git a/web/app/components/workflow/nodes/llm/components/reference-tool-config.tsx b/web/app/components/workflow/nodes/llm/components/reference-tool-config.tsx index 46cc7a82d9..506a7c1e46 100644 --- a/web/app/components/workflow/nodes/llm/components/reference-tool-config.tsx +++ b/web/app/components/workflow/nodes/llm/components/reference-tool-config.tsx @@ -1,12 +1,12 @@ 'use client' import type { FC } from 'react' import type { LLMNodeType, ToolSetting } from '../types' -import { RiArrowDownSLine } from '@remixicon/react' import { useQuery } from '@tanstack/react-query' import * as React from 'react' -import { useCallback, useMemo } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useStore as useAppStore } from '@/app/components/app/store' import { DefaultToolIcon } from '@/app/components/base/icons/src/public/other' +import { ArrowDownRoundFill } from '@/app/components/base/icons/src/vender/solid/general' import Switch from '@/app/components/base/switch' import { useNodeCurdKit } from '@/app/components/workflow/nodes/_base/hooks/use-node-crud' import { consoleClient, consoleQuery } from '@/service/client' @@ -123,45 +123,70 @@ const ReferenceToolConfig: FC = ({ }) }, [handleNodeDataUpdate, toolSettings]) + const [openMap, setOpenMap] = useState>({}) + const handleToggleProvider = useCallback((providerId: string) => { + setOpenMap(prev => ({ + ...prev, + [providerId]: !prev[providerId], + })) + }, []) + return (
- {providers.map(provider => ( -
-
-
-
- + {providers.map((provider) => { + const isOpen = openMap[provider.id] ?? false + return ( +
+
+
+
+ +
+
+ {provider.id} +
-
- {provider.id} -
- +
+ {isOpen && ( +
+ {provider.actions.map(action => ( +
+
+
+ + {action.tool_name} + +
+ handleToolEnabledChange(action, value)} + /> +
+ ))} +
+ )}
- {provider.actions.map(action => ( -
-
-
- - {action.tool_name} - -
- handleToolEnabledChange(action, value)} - /> -
- ))} -
- ))} + ) + })}
) }