From 27873f49a5e1297cbe673f3784b32f1cbbff2f61 Mon Sep 17 00:00:00 2001 From: Michael Suchacz <203725896+ibetitsmike@users.noreply.github.com> Date: Tue, 2 Dec 2025 11:47:14 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20feat:=20improve=20workspace=20cr?= =?UTF-8?q?eation=20UX=20with=20generating=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Change spinner message from 'Creating workspace...' to 'Generating workspace name...' - Show dimmed preview of user's prompt in quotes above spinner - Dim the input section (50% opacity) when generating - Truncate long prompts to 150 chars with ellipsis _Generated with mux_ --- .../ChatInput/CreationCenterContent.tsx | 26 ++++++++++++++----- src/browser/components/ChatInput/index.tsx | 8 ++++-- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/browser/components/ChatInput/CreationCenterContent.tsx b/src/browser/components/ChatInput/CreationCenterContent.tsx index fd456313ea..3db11368d2 100644 --- a/src/browser/components/ChatInput/CreationCenterContent.tsx +++ b/src/browser/components/ChatInput/CreationCenterContent.tsx @@ -3,23 +3,35 @@ import React from "react"; interface CreationCenterContentProps { projectName: string; isSending: boolean; + inputPreview?: string; } /** * Center content displayed during workspace creation - * Shows either a loading spinner or welcome message + * Shows either a loading state with the user's prompt or welcome message */ -export function CreationCenterContent({ projectName, isSending }: CreationCenterContentProps) { +export function CreationCenterContent(props: CreationCenterContentProps) { + // Truncate long prompts for preview display + const truncatedPreview = + props.inputPreview && props.inputPreview.length > 150 + ? props.inputPreview.slice(0, 150) + "..." + : props.inputPreview; + return (
- {isSending ? ( -
-
-

Creating workspace...

+ {props.isSending ? ( +
+
+

Creating workspace

+ {truncatedPreview && ( +

+ Generating name for “{truncatedPreview}” +

+ )}
) : (
-

{projectName}

+

{props.projectName}

Describe what you want to build. A new workspace will be created with an automatically generated branch name. Configure runtime and model options below. diff --git a/src/browser/components/ChatInput/index.tsx b/src/browser/components/ChatInput/index.tsx index 0d6e215390..4ce95c5116 100644 --- a/src/browser/components/ChatInput/index.tsx +++ b/src/browser/components/ChatInput/index.tsx @@ -971,12 +971,16 @@ export const ChatInput: React.FC = (props) => { )} - {/* Input section */} + {/* Input section - dim when creating workspace */}