This version is locked. Changes applied will not be reflected.
@@ -135,43 +133,59 @@ export function TopBar({
{/* Deploy CTA - always visible */}
@@ -199,6 +213,7 @@ export function TopBar({
size="md"
onPress={() => onChangeMode('draft')}
className="gap-2 px-4 bg-gray-600 hover:bg-gray-700 text-white font-semibold text-sm"
+ startContent={
}
>
Switch to draft
diff --git a/apps/rowboat/app/projects/[projectId]/workflow/components/TriggerConfigForm.tsx b/apps/rowboat/app/projects/[projectId]/workflow/components/TriggerConfigForm.tsx
index 22f7dba6..29a32528 100644
--- a/apps/rowboat/app/projects/[projectId]/workflow/components/TriggerConfigForm.tsx
+++ b/apps/rowboat/app/projects/[projectId]/workflow/components/TriggerConfigForm.tsx
@@ -199,7 +199,9 @@ export function TriggerConfigForm({
onChange={(e) => handleFieldChange(fieldName, e.target.value)}
className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md
bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100
- focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400"
+ focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0
+ focus:border-blue-500 dark:focus:border-blue-400
+ transition-all duration-200"
required={isRequired}
>
@@ -234,6 +236,11 @@ export function TriggerConfigForm({
description={property.description}
isInvalid={!!fieldError}
errorMessage={fieldError}
+ classNames={{
+ base: "ring-0 !ring-0 outline-none !outline-none shadow-none !shadow-none focus:ring-0 !focus:ring-0 focus:ring-transparent !focus:ring-transparent focus-visible:ring-0 !focus-visible:ring-0 focus-visible:outline-none !focus-visible:outline-none focus-within:ring-0 !focus-within:ring-0 focus-within:shadow-none !focus-within:shadow-none",
+ mainWrapper: "ring-0 !ring-0 outline-none !outline-none shadow-none !shadow-none focus:ring-0 !focus:ring-0 focus:ring-transparent !focus:ring-transparent focus-visible:ring-0 !focus-visible:ring-0 focus-visible:outline-none !focus-visible:outline-none focus-within:ring-0 !focus-within:ring-0 focus-within:shadow-none !focus-within:shadow-none",
+ inputWrapper: "ring-0 !ring-0 outline-none !outline-none shadow-none !shadow-none focus:ring-0 !focus:ring-0 focus:ring-transparent !focus:ring-transparent focus-visible:ring-0 !focus-visible:ring-0 focus-visible:outline-none !focus-visible:outline-none focus-within:ring-0 !focus-within:ring-0 focus-within:shadow-none !focus-within:shadow-none data-[focus=true]:ring-0 group-data-[focus=true]:ring-0 data-[focus=true]:shadow-none group-data-[focus=true]:shadow-none",
+ }}
/>
);
})}
diff --git a/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx b/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
index f677f96d..9788e7a4 100644
--- a/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
+++ b/apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx
@@ -34,7 +34,7 @@ import { ModelsResponse } from "@/app/lib/types/billing_types";
import { AgentGraphVisualizer } from "../entities/AgentGraphVisualizer";
import { Panel } from "@/components/common/panel-common";
import { Button as CustomButton } from "@/components/ui/button";
-import { ConfigApp } from "../config/app";
+
import { InputField } from "@/app/lib/components/input-field";
import { VoiceSection } from "../config/components/voice";
import { TopBar } from "./components/TopBar";
@@ -376,7 +376,7 @@ function reducer(state: State, action: Action): State {
properties: {},
required: []
},
- mockTool: true,
+ mockTool: false,
...action.tool
});
draft.selection = {
@@ -872,9 +872,6 @@ export function WorkflowEditor({
// Modal state for revert confirmation
const { isOpen: isRevertModalOpen, onOpen: onRevertModalOpen, onClose: onRevertModalClose } = useDisclosure();
- // Modal state for settings
- const { isOpen: isSettingsModalOpen, onOpen: onSettingsModalOpen, onClose: onSettingsModalClose } = useDisclosure();
-
// Modal state for phone/Twilio configuration
const { isOpen: isPhoneModalOpen, onOpen: onPhoneModalOpen, onClose: onPhoneModalClose } = useDisclosure();
@@ -1280,7 +1277,6 @@ export function WorkflowEditor({
onChangeMode={onChangeMode}
onRevertToLive={handleRevertToLive}
onToggleCopilot={() => setShowCopilot(!showCopilot)}
- onSettingsModalOpen={onSettingsModalOpen}
/>
{/* Content Area */}
@@ -1498,26 +1494,7 @@ export function WorkflowEditor({
- {/* Settings Modal */}
-
-
-
- API & SDK
-
-
-
-
-
-
+
{/* Phone/Twilio Modal */}
{/* Rowboat Logo */}
-
+
}
{!collapsed &&
+ {collapsed &&
-
-
- {!collapsed && (
- {item.label}
- )}
-
- );
+ }
+ {!collapsed &&
+
+ {item.label}
+ }
+ >
})
)}
@@ -247,7 +258,7 @@ export default function Sidebar({ projectId, useAuth, collapsed = false, onToggl
{USE_PRODUCT_TOUR && !isProjectsRoute && (
-
)}
- {useAuth && (
-
-
-
- {!collapsed && Account}
-
-
- )}
+ {useAuth && <>
+ {collapsed &&
+
+ }
+ {!collapsed &&
}
+ >}
{/* Create Assistant Modal */}
-
diff --git a/apps/rowboat/components/common/billing-upgrade-modal.tsx b/apps/rowboat/components/common/billing-upgrade-modal.tsx
index fe087517..abc0863d 100644
--- a/apps/rowboat/components/common/billing-upgrade-modal.tsx
+++ b/apps/rowboat/components/common/billing-upgrade-modal.tsx
@@ -84,7 +84,6 @@ export function BillingUpgradeModal({ isOpen, onClose, errorMessage }: BillingUp
description: "Great for power users or teams",
features: [
"20,000 credits",
- "o3 and o3-pro",
"Priority support",
],
recommended: true
diff --git a/apps/rowboat/components/common/panel-common.tsx b/apps/rowboat/components/common/panel-common.tsx
index 87228150..1ceb8208 100644
--- a/apps/rowboat/components/common/panel-common.tsx
+++ b/apps/rowboat/components/common/panel-common.tsx
@@ -82,11 +82,47 @@ export function Panel({
data-tour-target={tourTarget}
>
{variant === 'copilot' && showWelcome && (
-
+
{/* Replace Sparkles icon with mascot image */}
-
+
+
+ {/* Welcome/Intro Section */}
+
+
+ 👋 Welcome to Rowboat!
+
+
+ I'm your copilot for building agents and adding tools to them.
+
+
+ Here's what you can do in Rowboat:
+
+
+
+ ⚡
+ Build AI agents instantly with natural language.
+
+
+ 🔌
+ Connect tools with one-click integrations.
+
+
+ 📂
+ Power with knowledge by adding documents for RAG.
+
+
+ 🔄
+ Automate workflows by setting up triggers and actions.
+
+
+ 🚀
+ Deploy anywhere via API or SDK.
+
+
+
+
{SHOW_COPILOT_MARQUEE && (
-
+
What can I help you build?