diff --git a/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx b/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
index be9731d1..b51a6a68 100644
--- a/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
+++ b/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
@@ -935,6 +935,13 @@ export function WorkflowEditor({
}
}, [projectId]);
+ // Hide copilot when switching to live mode
+ useEffect(() => {
+ if (isLive) {
+ setShowCopilot(false);
+ }
+ }, [isLive]);
+
// Reset initial state when user interacts with copilot or opens other menus
useEffect(() => {
if (state.present.selection !== null) {
@@ -1225,13 +1232,13 @@ export function WorkflowEditor({
onChange={handleProjectNameChange}
error={projectNameError}
placeholder="Project name..."
- className="text-lg font-semibold"
+ className="text-lg font-semibold !min-h-[24px] !py-0.5 !border !border-gray-200 dark:!border-gray-700 !rounded-lg"
+ inline={true}
/>
-
{state.present.publishing &&
}
{isLive &&
@@ -1242,35 +1249,7 @@ export function WorkflowEditor({
Draft workflow
}
- {/* Hamburger menu for workflow version switching */}
-
-
-
-
-
- onChangeMode(isLive ? 'draft' : 'live')}
- >
- {isLive ? "View Draft workflow" : "View Live workflow"}
-
- {!isLive ? (
-
- Revert to Live workflow
-
- ) : null}
-
-
+
{/* Download JSON icon button, with tooltip, to the left of the menu */}
}
+
{!isLive && <>
-
- }
- data-tour-target="deploy"
- >
- Deploy
-
-
-
-
-
-
-
-
- }
- onPress={onSettingsModalOpen}
- >
- API & SDK
-
- }
- onPress={onPhoneModalOpen}
- >
- Phone
-
- }
- onPress={onChatWidgetModalOpen}
- >
- Chat widget
-
- }
- onPress={onTriggersModalOpen}
- >
- Manage triggers
-
-
-
-
+ >}
+
+ {/* Deploy CTA - always visible */}
+
setShowCopilot(!showCopilot)}
- className="gap-2 px-4 bg-indigo-600 hover:bg-indigo-700 text-white font-semibold text-sm"
- startContent={showCopilot ? null : }
+ onPress={handlePublishWorkflow}
+ className="gap-2 px-4 bg-green-600 hover:bg-green-700 text-white font-semibold text-sm rounded-r-none"
+ startContent={}
+ data-tour-target="deploy"
>
- {showCopilot ? "Hide Skipper" : "Skipper"}
+ Deploy
- >}
+
+
+
+
+
+
+
+ }
+ onPress={onSettingsModalOpen}
+ >
+ API & SDK settings
+
+ }
+ onPress={onTriggersModalOpen}
+ >
+ Manage triggers
+
+ {!isLive ? (
+ <>
+ }
+ onPress={() => onChangeMode('live')}
+ >
+ View live version
+
+ }
+ onPress={handleRevertToLive}
+ className="text-red-600 dark:text-red-400"
+ >
+ Reset to live version
+
+ >
+ ) : null}
+
+
+
+
+ {isLive &&
+ onChangeMode('draft')}
+ className="gap-2 px-4 bg-gray-600 hover:bg-gray-700 text-white font-semibold text-sm"
+ >
+ Switch to draft
+
+
}
+
+ {!isLive && setShowCopilot(!showCopilot)}
+ className="gap-2 px-4 bg-indigo-600 hover:bg-indigo-700 text-white font-semibold text-sm"
+ startContent={showCopilot ? null : }
+ >
+ {showCopilot ? "Hide Skipper" : "Skipper"}
+ }