diff --git a/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderChat.tsx b/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderChat.tsx
index 4246ff8c72..2582e6469d 100644
--- a/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderChat.tsx
+++ b/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderChat.tsx
@@ -10,7 +10,8 @@ import { recipeBuilderRecipe } from './recipeBuilderRecipe';
import { extractYamlFromMessage, parseYamlToRecipe } from './recipeExtractor';
import { getInitialWorkingDir } from '../../../utils/workingDir';
import { UserInput } from '../../../types/message';
-import { Send } from 'lucide-react';
+import { Send } from '../../icons';
+import Stop from '../../ui/Stop';
import { Button } from '../../ui/button';
import { RecipeBuilderChatProps } from './types';
@@ -156,69 +157,89 @@ export default function RecipeBuilderChat({ recipe, onRecipeChange }: RecipeBuil
);
}
- if (isLoading) {
- return (
-
-
-
- );
- }
+ const showLoadingIndicator = isLoading || isStreaming;
return (
-
-
- {messages.length === 0 ? (
-
-
Recipe Builder
-
- Tell me what kind of recipe you'd like to create, and I'll help you build it.
-
-
- ) : (
-
- )}
- {isStreaming && (
-
-
-
- )}
-
-
-
-
-
);
diff --git a/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderHeader.tsx b/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderHeader.tsx
index 10ea94ef17..88fd8ae251 100644
--- a/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderHeader.tsx
+++ b/ui/desktop/src/components/recipes/RecipeBuilder/RecipeBuilderHeader.tsx
@@ -14,7 +14,7 @@ export default function RecipeBuilderHeader({
onClose,
}: RecipeBuilderHeaderProps) {
return (
-
+
- );
- }
-
// Show error state
if (sessionError || sessionLoadError) {
return (
@@ -225,58 +218,82 @@ export default function RecipeBuilderTest({
)}
- {/* Chat area */}
-
-
- {messages.length === 0 ? (
-
-
Send a message to test your recipe.
-
- ) : (
-
- )}
- {isStreaming && (
-
-
-
- )}
-
-
-
- {/* Input area */}
-
-
-
);