From da6ecc463dbfe313199b572a605cacf80eb7dff2 Mon Sep 17 00:00:00 2001 From: hubo Date: Mon, 13 Jul 2026 16:52:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20AiFailPlanCard=20=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=B8=8E=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7?= =?UTF-8?q?=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/public/locales/en/aiAgent.json | 3 +- .../main/public/locales/zh-TW/aiAgent.json | 3 +- .../src/main/public/locales/zh/aiAgent.json | 3 +- .../aiFailPlanCard/AiFailPlanCard.module.scss | 30 +++++------------ .../aiFailPlanCard/AiFailPlanCard.tsx | 33 +++++++++++++------ 5 files changed, 38 insertions(+), 34 deletions(-) diff --git a/app/renderer/src/main/public/locales/en/aiAgent.json b/app/renderer/src/main/public/locales/en/aiAgent.json index 73c8c5f8d7..0117141601 100644 --- a/app/renderer/src/main/public/locales/en/aiAgent.json +++ b/app/renderer/src/main/public/locales/en/aiAgent.json @@ -197,7 +197,8 @@ "viewReference": "[View Reference]" }, "AiFailPlanCard": { - "failureReason": "Failure Reason" + "collapse": "Collapse", + "expand": "Expand" }, "AIToolList": { "all": "All", diff --git a/app/renderer/src/main/public/locales/zh-TW/aiAgent.json b/app/renderer/src/main/public/locales/zh-TW/aiAgent.json index fd9ce1ba24..0c0f19cd49 100644 --- a/app/renderer/src/main/public/locales/zh-TW/aiAgent.json +++ b/app/renderer/src/main/public/locales/zh-TW/aiAgent.json @@ -197,7 +197,8 @@ "viewReference": "[檢視文獻]" }, "AiFailPlanCard": { - "failureReason": "失敗原因" + "collapse": "收起", + "expand": "展開" }, "AIToolList": { "all": "全部", diff --git a/app/renderer/src/main/public/locales/zh/aiAgent.json b/app/renderer/src/main/public/locales/zh/aiAgent.json index 7b8503d626..5d46ff77fb 100644 --- a/app/renderer/src/main/public/locales/zh/aiAgent.json +++ b/app/renderer/src/main/public/locales/zh/aiAgent.json @@ -197,7 +197,8 @@ "viewReference": "[查看文献]" }, "AiFailPlanCard": { - "failureReason": "失败原因" + "collapse": "收起", + "expand": "展开" }, "AIToolList": { "all": "全部", diff --git a/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.module.scss b/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.module.scss index 8f1446a822..09b2efd751 100644 --- a/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.module.scss +++ b/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.module.scss @@ -1,24 +1,12 @@ -.ai-fail-plan-wrapper > div:first-child { - color: var(--Colors-Use-Error-Primary); +.ai-fail-plan-wrapper { + background-color: var(--Colors-Use-Error-Focus); } -.ai-fail-plan-card { - width: 100%; - margin: 4px 0; - &-title { - height: 32px; - padding: 6px 8px; - display: flex; - align-items: center; - justify-content: space-between; - border-radius: 8px 8px 0 0; - background-color: var(--Colors-Use-Error-Focus); - color: var(--Colors-Use-Error-Primary); - } - &-content { - background: var(--Colors-Use-Basic-Background); - padding: 8px; - border-radius: 0 0 8px 8px; - border: 1px solid var(--Colors-Use-Error-Focus); - } +.expand-btn { + color: var(--Colors-Use-Neutral-Text-3-Secondary); +} + +.pre-max-height { + max-height: 400px; + margin-top: 8px; } diff --git a/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.tsx b/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.tsx index a770e3f82e..62a8da799f 100644 --- a/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.tsx +++ b/app/renderer/src/main/src/pages/ai-agent/components/aiFailPlanCard/AiFailPlanCard.tsx @@ -1,25 +1,38 @@ import type { FailTaskChatError } from '@/pages/ai-re-act/hooks/aiRender' -import { type FC } from 'react' +import type { FC } from 'react' import ChatCard from '../ChatCard' import styles from './AiFailPlanCard.module.scss' import useAINodeLabel from '@/pages/ai-re-act/hooks/useAINodeLabel' -// import { TaskErrorIcon } from '../../aiTree/icon' import { PreWrapper } from '../ToolInvokerCard' import { useI18nNamespaces } from '@/i18n/useI18nNamespaces' +import { OutlineChevronsDownUpIcon, OutlineChevronsUpDownIcon } from '@/assets/icon/outline' +import { YakitButton } from '@/components/yakitUI/YakitButton/YakitButton' +import { Tooltip } from 'antd' +import { useToggle } from 'ahooks' const AiFailPlanCard: FC<{ item: FailTaskChatError }> = ({ item }) => { const { t } = useI18nNamespaces(['aiAgent']) const { content } = item const { nodeLabel } = useAINodeLabel(item.NodeIdVerbose) + const [expand, { toggle }] = useToggle(false) + return ( - // titleIcon={} - -
-
{t('AiFailPlanCard.failureReason')}
-
- {content && } -
-
+ + : } + onClick={toggle} + className={styles['expand-btn']} + /> + + } + > + {expand && content && } ) }