From e9a1ac62764757fbea0b350ba853846fa6a1f210 Mon Sep 17 00:00:00 2001 From: OG T Date: Thu, 2 Apr 2026 23:36:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(ui):=20=E5=B0=8D=E9=BD=8A=20figma-v2=20?= =?UTF-8?q?=E8=A8=AD=E8=A8=88=E7=A8=BF=20=E2=80=94=20IncidentCard=20+=20Op?= =?UTF-8?q?enClawPanel=20=E8=A6=96=E8=A6=BA=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IncidentCard: - 背景 #fff、圓角 12px、頂邊條 4px(對齊設計稿) - P1 嚴重度色修正為 #F59E0B(amber,非 orange) - Severity badge 改為 4px 圓角 uppercase 樣式 - Impact 指標列移除灰底方塊,改為細邊框分隔線 - AI 提案按鈕改為全寬居中橙色風格 OpenClawPanel: - 移除多餘 rounded-xl/backdrop/border(由父層卡片容器提供) Co-Authored-By: Claude Sonnet 4.6 --- apps/web/src/components/ai/openclaw-panel.tsx | 9 +-- .../src/components/incident/incident-card.tsx | 77 +++++++++---------- 2 files changed, 39 insertions(+), 47 deletions(-) diff --git a/apps/web/src/components/ai/openclaw-panel.tsx b/apps/web/src/components/ai/openclaw-panel.tsx index 3531e40e..62073dbc 100644 --- a/apps/web/src/components/ai/openclaw-panel.tsx +++ b/apps/web/src/components/ai/openclaw-panel.tsx @@ -182,13 +182,8 @@ export function OpenClawPanel({ return (
- {/* 頂邊條 3px */} -
+ {/* 頂邊條 4px */} +
{/* 標頭列:嚴重度 + 服務標籤 + 時間 */} -
+
{sevCfg.label} {serviceName} - + {duration}
{/* 事件標題 — 從 decision action 或 affected_services 組合 */} -
+
{incident.decision?.proposal_data?.action ?? (incident.affected_services?.length ? `${incident.affected_services.join(', ')} ${t('anomaly')}` @@ -320,7 +321,7 @@ export function IncidentCard({ incident, decision, onApprovalChange }: IncidentC
{/* INC-ID */} -
+
{incident.incident_id}
@@ -329,22 +330,20 @@ export function IncidentCard({ incident, decision, onApprovalChange }: IncidentC {/* Impact 指標列 */}
- + {t('affectedServices')} {incident.affected_services?.length ?? 0} - + {t('signalCount')} {incident.signal_count ?? '--'} - + {t('statusLabel')} {incident.status}
@@ -355,26 +354,24 @@ export function IncidentCard({ incident, decision, onApprovalChange }: IncidentC {aiExpanded && (
+
{renderApproveButtons()} {errorMessage && (