From 19463edfc9e558c980cf5bcdc34831cc190b54f3 Mon Sep 17 00:00:00 2001 From: 777genius Date: Thu, 16 Apr 2026 13:40:21 +0300 Subject: [PATCH] fix(agent-graph): center launch stepper hud --- packages/agent-graph/src/ui/GraphControls.tsx | 10 +-- .../renderer/ui/GraphProvisioningHud.tsx | 69 ++++--------------- .../agent-graph/GraphProvisioningHud.test.ts | 2 +- 3 files changed, 18 insertions(+), 63 deletions(-) diff --git a/packages/agent-graph/src/ui/GraphControls.tsx b/packages/agent-graph/src/ui/GraphControls.tsx index e933c9c1..a3bc581d 100644 --- a/packages/agent-graph/src/ui/GraphControls.tsx +++ b/packages/agent-graph/src/ui/GraphControls.tsx @@ -107,8 +107,8 @@ export function GraphControls({ return ( <> -
-
+
+
{onToggleSidebar ? (
-
+
{topToolbarContent ? ( -
+
{topToolbarContent}
) : null}
-
+
, - iconClassName: 'text-red-400', + border: 'border-red-400/35 bg-[rgba(26,10,16,0.9)]', }; case 'warning': return { - border: 'border-amber-400/35 bg-[rgba(31,18,8,0.92)]', - badge: 'border-amber-500/30 text-amber-200', - icon: , - iconClassName: 'text-amber-400', + border: 'border-amber-400/35 bg-[rgba(31,18,8,0.9)]', }; case 'success': return { - border: 'border-emerald-400/35 bg-[rgba(8,24,18,0.92)]', - badge: 'border-emerald-500/30 text-emerald-200', - icon: , - iconClassName: 'text-emerald-400', + border: 'border-emerald-400/35 bg-[rgba(8,24,18,0.9)]', }; default: return { - border: 'border-cyan-400/25 bg-[rgba(8,14,26,0.92)]', - badge: 'border-cyan-500/20 text-cyan-200', - icon: , - iconClassName: 'text-cyan-300', + border: 'border-cyan-400/25 bg-[rgba(8,14,26,0.9)]', }; } } @@ -109,14 +92,10 @@ export const GraphProvisioningHud = ({ } }, [presentation]); - const compactLabel = useMemo(() => { - if (!presentation?.compactDetail) { - return null; - } - return presentation.compactDetail.length > 54 - ? `${presentation.compactDetail.slice(0, 54)}...` - : presentation.compactDetail; - }, [presentation?.compactDetail]); + const ariaLabel = useMemo(() => { + const parts = [presentation?.compactTitle, presentation?.compactDetail].filter(Boolean); + return parts.join(' - ') || 'Open launch details'; + }, [presentation?.compactDetail, presentation?.compactTitle]); if (!shouldRender || !presentation || !tone) { return null; @@ -131,44 +110,20 @@ export const GraphProvisioningHud = ({ tone.border )} onClick={() => setDetailsOpen(true)} - aria-label="Open launch details" + aria-label={ariaLabel} > -
- {tone.icon} -
-
-
- {presentation.compactTitle} -
- - {presentation.isFailed - ? 'Issue' - : presentation.hasMembersStillJoining - ? 'Joining' - : presentation.isActive - ? 'Live' - : 'Ready'} - -
- {compactLabel ? ( -
- {compactLabel} -
- ) : null} -
-
-
+ {ariaLabel} diff --git a/test/renderer/features/agent-graph/GraphProvisioningHud.test.ts b/test/renderer/features/agent-graph/GraphProvisioningHud.test.ts index 383f7951..476f9f47 100644 --- a/test/renderer/features/agent-graph/GraphProvisioningHud.test.ts +++ b/test/renderer/features/agent-graph/GraphProvisioningHud.test.ts @@ -118,7 +118,7 @@ describe('GraphProvisioningHud', () => { await Promise.resolve(); }); - const openButton = host.querySelector('button[aria-label="Open launch details"]'); + const openButton = host.querySelector('button[aria-label]'); expect(openButton).not.toBeNull(); await act(async () => {