From af543d2a7f9fa696ea251893360dd43c4bb6abaf Mon Sep 17 00:00:00 2001 From: Joel Date: Tue, 27 Jan 2026 18:30:09 +0800 Subject: [PATCH] chore: tool ui --- .../components/collapse/field-collapse.tsx | 8 ++- .../nodes/_base/components/collapse/index.tsx | 4 +- .../llm/components/computer-use-config.tsx | 71 ++++++++----------- .../components/workflow/nodes/llm/panel.tsx | 2 +- 4 files changed, 38 insertions(+), 47 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx b/web/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx index 777bd82035..2a958eed17 100644 --- a/web/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx +++ b/web/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx @@ -1,12 +1,14 @@ import type { ReactNode } from 'react' +import { cn } from '@/utils/classnames' import Collapse from '.' type FieldCollapseProps = { - title: string + title: string | React.JSX.Element children: ReactNode collapsed?: boolean onCollapse?: (collapsed: boolean) => void operations?: ReactNode + noXSpacing?: boolean } const FieldCollapse = ({ title, @@ -14,6 +16,7 @@ const FieldCollapse = ({ collapsed, onCollapse, operations, + noXSpacing, }: FieldCollapseProps) => { return (
@@ -24,8 +27,9 @@ const FieldCollapse = ({ operations={operations} collapsed={collapsed} onCollapse={onCollapse} + noXSpacing={noXSpacing} > -
+
{children}
diff --git a/web/app/components/workflow/nodes/_base/components/collapse/index.tsx b/web/app/components/workflow/nodes/_base/components/collapse/index.tsx index 6aeff0242f..ba955737e8 100644 --- a/web/app/components/workflow/nodes/_base/components/collapse/index.tsx +++ b/web/app/components/workflow/nodes/_base/components/collapse/index.tsx @@ -13,6 +13,7 @@ type CollapseProps = { onCollapse?: (collapsed: boolean) => void operations?: ReactNode hideCollapseIcon?: boolean + noXSpacing?: boolean } const Collapse = ({ disabled, @@ -22,6 +23,7 @@ const Collapse = ({ onCollapse, operations, hideCollapseIcon, + noXSpacing, }: CollapseProps) => { const [collapsedLocal, setCollapsedLocal] = useState(true) const collapsedMerged = collapsed !== undefined ? collapsed : collapsedLocal @@ -42,7 +44,7 @@ const Collapse = ({ <>
{ if (!disabled) { setCollapsedLocal(!collapsedMerged) 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 16162f36ae..f36ff89e97 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 @@ -1,13 +1,11 @@ 'use client' import type { FC } from 'react' -import { RiArrowDownSLine } from '@remixicon/react' -import { useBoolean } from 'ahooks' import * as React from 'react' import { useTranslation } from 'react-i18next' import Switch from '@/app/components/base/switch' import Tooltip from '@/app/components/base/tooltip' -import { BoxGroup } from '@/app/components/workflow/nodes/_base/components/layout' -import { cn } from '@/utils/classnames' +import FieldCollapse from '@/app/components/workflow/nodes/_base/components/collapse/field-collapse' +import Split from '@/app/components/workflow/nodes/_base/components/split' import ReferenceToolConfig from './reference-tool-config' const i18nPrefix = 'nodes.llm.computerUse' @@ -24,56 +22,43 @@ const ComputerUseConfig: FC = ({ onChange, }) => { const { t } = useTranslation() - const [isCollapsed, { toggle: toggleCollapsed }] = useBoolean(false) return ( - -
-
-
-
- {t(`${i18nPrefix}.title`, { ns: 'workflow' })} -
+
+ + + {t(`${i18nPrefix}.title`, { ns: 'workflow' })} -
- -
- {!isCollapsed && ( -
+ )} + noXSpacing + operations={( +
+ +
+ )} + > +
+
{t(`${i18nPrefix}.referenceTools`, { ns: 'workflow' })}
-
- )} -
- + +
+ + +
) } diff --git a/web/app/components/workflow/nodes/llm/panel.tsx b/web/app/components/workflow/nodes/llm/panel.tsx index 6a58e9c7c7..ba9694ce6a 100644 --- a/web/app/components/workflow/nodes/llm/panel.tsx +++ b/web/app/components/workflow/nodes/llm/panel.tsx @@ -245,7 +245,7 @@ const Panel: FC> = ({ )}
- {/* Advanced Settings - 折叠区 */} + {/* Advanced Settings */}
{/* Context */}