diff --git a/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx b/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx index 7f2fee9d..efb79082 100644 --- a/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx +++ b/frontend/src/app/pages/Dashboard/canvas/DashboardEmptyState.tsx @@ -87,13 +87,18 @@ const DashboardEmptyState: React.FC<{ // context switch); the others use the default mode. const launch = (prompt: string) => { if (launching) return; - if (onStarter) { - onStarter(prompt, isAppBuilder ? 'view-builder' : undefined); + // App Builder opens its own surface, so prefill its composer (the user reviews, + // then builds). Everything else fires immediately: a pick is one tap to a running agent. + if (isAppBuilder) { + if (onStarter) onStarter(prompt, 'view-builder'); return; } - if (!onLaunch) return; - setLaunching(true); // empty state unmounts on first session, but guard a fast double-click - onLaunch(prompt, mode, model); + if (onLaunch) { + setLaunching(true); // empty state unmounts on first session, but guard a fast double-click + onLaunch(prompt, mode, model); + return; + } + if (onStarter) onStarter(prompt); }; return ( @@ -109,8 +114,8 @@ const DashboardEmptyState: React.FC<{ }} > - - No agents running + + What do you want done? - Click the + Tell the {/* Literal toolbar glyph; the shimmer's transparent color would hide it, so reset color here. */} - below to launch your first agent + below and I'll put a team on it {showChips && (