+
diff --git a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx
index 472aefb403..39f03925e4 100644
--- a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx
+++ b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx
@@ -1,141 +1,204 @@
'use client'
-import { useCallback, useEffect, useRef, useState } from 'react'
-import { Database, Layout, Search, Settings } from 'lucide-react'
-import { ChevronDown, Library } from '@/components/emcn'
+import { ChevronDown, Home, Library } from '@/components/emcn'
+import {
+ Calendar,
+ Database,
+ File,
+ HelpCircle,
+ Search,
+ Settings,
+ Table,
+} from '@/components/emcn/icons'
import type { PreviewWorkflow } from '@/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data'
-/**
- * Props for the LandingPreviewSidebar component
- */
interface LandingPreviewSidebarProps {
workflows: PreviewWorkflow[]
activeWorkflowId: string
+ activeView: 'home' | 'workflow'
onSelectWorkflow: (id: string) => void
+ onSelectHome: () => void
}
/**
- * Static footer navigation items matching the real sidebar
+ * Hardcoded dark-theme equivalents of the real sidebar CSS variables.
+ * The preview lives inside a `dark` wrapper but CSS variable cascade
+ * isn't guaranteed, so we pin the hex values directly.
*/
-const FOOTER_NAV_ITEMS = [
- { id: 'logs', label: 'Logs', icon: Library },
- { id: 'templates', label: 'Templates', icon: Layout },
+const C = {
+ SURFACE_1: '#1e1e1e',
+ SURFACE_2: '#252525',
+ SURFACE_ACTIVE: '#363636',
+ BORDER: '#2c2c2c',
+ TEXT_PRIMARY: '#e6e6e6',
+ TEXT_BODY: '#cdcdcd',
+ TEXT_ICON: '#939393',
+ BRAND: '#33C482',
+} as const
+
+const WORKSPACE_NAV = [
+ { id: 'tables', label: 'Tables', icon: Table },
+ { id: 'files', label: 'Files', icon: File },
{ id: 'knowledge-base', label: 'Knowledge Base', icon: Database },
+ { id: 'scheduled-tasks', label: 'Scheduled Tasks', icon: Calendar },
+ { id: 'logs', label: 'Logs', icon: Library },
+] as const
+
+const FOOTER_NAV = [
+ { id: 'help', label: 'Help', icon: HelpCircle },
{ id: 'settings', label: 'Settings', icon: Settings },
] as const
+function StaticNavItem({
+ icon: Icon,
+ label,
+}: {
+ icon: React.ComponentType<{ className?: string; style?: React.CSSProperties }>
+ label: string
+}) {
+ return (
+
+
+
+ {label}
+
+
+ )
+}
+
/**
- * Lightweight static sidebar replicating the real workspace sidebar styling.
+ * Lightweight sidebar replicating the real workspace sidebar layout and sizing.
+ * Starts from the workspace header (no logo/collapse row).
* Only workflow items are interactive — everything else is pointer-events-none.
- *
- * Colors sourced from the dark theme CSS variables:
- * --surface-1: #1e1e1e, --surface-5: #363636, --border: #2c2c2c, --border-1: #3d3d3d
- * --text-primary: #e6e6e6, --text-tertiary: #b3b3b3, --text-muted: #787878
*/
export function LandingPreviewSidebar({
workflows,
activeWorkflowId,
+ activeView,
onSelectWorkflow,
+ onSelectHome,
}: LandingPreviewSidebarProps) {
- const [isDropdownOpen, setIsDropdownOpen] = useState(false)
- const dropdownRef = useRef
(null)
-
- const handleToggle = useCallback(() => {
- setIsDropdownOpen((prev) => !prev)
- }, [])
-
- useEffect(() => {
- if (!isDropdownOpen) return
-
- const handleClickOutside = (e: MouseEvent) => {
- if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) {
- setIsDropdownOpen(false)
- }
- }
-
- document.addEventListener('mousedown', handleClickOutside)
- return () => document.removeEventListener('mousedown', handleClickOutside)
- }, [isDropdownOpen])
+ const isHomeActive = activeView === 'home'
return (
-
- {/* Header */}
-
-
-
+ {/* Workspace Header */}
+
+
+
+
- My Workspace
-
-
-
-
+ Superark
+
+
+
+
+
+ {/* Top Navigation: Home (interactive), Search (static) */}
+
+ {
+ if (!isHomeActive) e.currentTarget.style.backgroundColor = C.SURFACE_ACTIVE
+ }}
+ onMouseLeave={(e) => {
+ if (!isHomeActive) e.currentTarget.style.backgroundColor = 'transparent'
+ }}
+ >
+
+
+ Home
+
+
+
+
+
+ {/* Workspace */}
+
+
+
+ {WORKSPACE_NAV.map((item) => (
+
+ ))}
+
+
- {/* Workspace switcher dropdown */}
- {isDropdownOpen && (
-
-
setIsDropdownOpen(false)}
- >
-
My Workspace
+ {/* Scrollable Tasks + Workflows */}
+
+ {/* Workflows */}
+
-
- {/* Workflow items */}
-
- {workflows.map((workflow) => {
- const isActive = workflow.id === activeWorkflowId
- return (
-
onSelectWorkflow(workflow.id)}
- className={`group flex h-[26px] w-full items-center gap-[8px] rounded-[8px] px-[6px] text-[14px] transition-colors ${
- isActive ? 'bg-[#363636]' : 'bg-transparent hover:bg-[#363636]'
- }`}
- >
-
-
-
+ {workflows.map((workflow) => {
+ const isActive = activeView === 'workflow' && workflow.id === activeWorkflowId
+ return (
+ onSelectWorkflow(workflow.id)}
+ className='group mx-[2px] flex h-[28px] w-full items-center gap-[8px] rounded-[8px] px-[8px] transition-colors'
+ style={{ backgroundColor: isActive ? C.SURFACE_ACTIVE : 'transparent' }}
+ onMouseEnter={(e) => {
+ if (!isActive) e.currentTarget.style.backgroundColor = C.SURFACE_ACTIVE
+ }}
+ onMouseLeave={(e) => {
+ if (!isActive) e.currentTarget.style.backgroundColor = 'transparent'
+ }}
>
- {workflow.name}
-
-
-
- )
- })}
+
+
+ {workflow.name}
+
+
+ )
+ })}
+
+
- {/* Footer navigation — static */}
-
- {FOOTER_NAV_ITEMS.map((item) => {
- const Icon = item.icon
- return (
-
-
- {item.label}
-
- )
- })}
+ {/* Footer */}
+
+ {FOOTER_NAV.map((item) => (
+
+ ))}
)
diff --git a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/preview-block-node.tsx b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/preview-block-node.tsx
index a8737092ae..3fc2866331 100644
--- a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/preview-block-node.tsx
+++ b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/preview-block-node.tsx
@@ -4,6 +4,7 @@ import { memo } from 'react'
import { motion } from 'framer-motion'
import { Database } from 'lucide-react'
import { Handle, type NodeProps, Position } from 'reactflow'
+import { Blimp } from '@/components/emcn'
import {
AgentIcon,
AnthropicIcon,
@@ -63,6 +64,7 @@ const BLOCK_ICONS: Record
> =
reducto: ReductoIcon,
textract: TextractIcon,
linkedin: LinkedInIcon,
+ mothership: Blimp,
}
/** Model prefix → provider icon for the "Model" row in agent blocks. */
diff --git a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts
index cd99fadfe9..205aa44d88 100644
--- a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts
+++ b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts
@@ -91,11 +91,11 @@ const IT_SERVICE_WORKFLOW: PreviewWorkflow = {
}
/**
- * Content pipeline workflow — Schedule -> Agent (X + YouTube tools)
+ * Self-healing CRM workflow — Schedule -> Mothership
*/
-const CONTENT_PIPELINE_WORKFLOW: PreviewWorkflow = {
- id: 'wf-content-pipeline',
- name: 'Content Pipeline',
+const SELF_HEALING_CRM_WORKFLOW: PreviewWorkflow = {
+ id: 'wf-self-healing-crm',
+ name: 'Self-healing CRM',
color: '#33C482',
blocks: [
{
@@ -111,23 +111,16 @@ const CONTENT_PIPELINE_WORKFLOW: PreviewWorkflow = {
hideTargetHandle: true,
},
{
- id: 'agent-2',
- name: 'Agent',
- type: 'agent',
- bgColor: '#701ffc',
- rows: [
- { title: 'Model', value: 'grok-4' },
- { title: 'System Prompt', value: 'Repurpose trending...' },
- ],
- tools: [
- { name: 'X', type: 'x', bgColor: '#000000' },
- { name: 'YouTube', type: 'youtube', bgColor: '#FF0000' },
- ],
+ id: 'mothership-1',
+ name: 'Update Agent',
+ type: 'mothership',
+ bgColor: '#33C482',
+ rows: [{ title: 'Prompt', value: 'Audit CRM records, fix...' }],
position: { x: 420, y: 180 },
hideSourceHandle: true,
},
],
- edges: [{ id: 'e-3', source: 'schedule-1', target: 'agent-2' }],
+ edges: [{ id: 'e-3', source: 'schedule-1', target: 'mothership-1' }],
}
/**
@@ -154,7 +147,7 @@ const NEW_AGENT_WORKFLOW: PreviewWorkflow = {
}
export const PREVIEW_WORKFLOWS: PreviewWorkflow[] = [
- CONTENT_PIPELINE_WORKFLOW,
+ SELF_HEALING_CRM_WORKFLOW,
IT_SERVICE_WORKFLOW,
NEW_AGENT_WORKFLOW,
]
diff --git a/apps/sim/app/(home)/components/landing-preview/landing-preview.tsx b/apps/sim/app/(home)/components/landing-preview/landing-preview.tsx
index 2a27cff9d3..04695537e3 100644
--- a/apps/sim/app/(home)/components/landing-preview/landing-preview.tsx
+++ b/apps/sim/app/(home)/components/landing-preview/landing-preview.tsx
@@ -1,7 +1,8 @@
'use client'
-import { useEffect, useRef, useState } from 'react'
+import { useCallback, useEffect, useRef, useState } from 'react'
import { motion, type Variants } from 'framer-motion'
+import { LandingPreviewHome } from '@/app/(home)/components/landing-preview/components/landing-preview-home/landing-preview-home'
import { LandingPreviewPanel } from '@/app/(home)/components/landing-preview/components/landing-preview-panel/landing-preview-panel'
import { LandingPreviewSidebar } from '@/app/(home)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar'
import { LandingPreviewWorkflow } from '@/app/(home)/components/landing-preview/components/landing-preview-workflow/landing-preview-workflow'
@@ -56,6 +57,7 @@ const panelVariants: Variants = {
* load — workflow switches render instantly.
*/
export function LandingPreview() {
+ const [activeView, setActiveView] = useState<'home' | 'workflow'>('workflow')
const [activeWorkflowId, setActiveWorkflowId] = useState(PREVIEW_WORKFLOWS[0].id)
const isInitialMount = useRef(true)
@@ -63,12 +65,23 @@ export function LandingPreview() {
isInitialMount.current = false
}, [])
+ const handleSelectWorkflow = useCallback((id: string) => {
+ setActiveWorkflowId(id)
+ setActiveView('workflow')
+ }, [])
+
+ const handleSelectHome = useCallback(() => {
+ setActiveView('home')
+ }, [])
+
const activeWorkflow =
PREVIEW_WORKFLOWS.find((w) => w.id === activeWorkflowId) ?? PREVIEW_WORKFLOWS[0]
+ const isWorkflowView = activeView === 'workflow'
+
return (
-
-
+
+
+
+ {isWorkflowView ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
-
-
-
)
}
diff --git a/apps/sim/app/(home)/components/navbar/navbar.tsx b/apps/sim/app/(home)/components/navbar/navbar.tsx
index c889eef724..af18f287b6 100644
--- a/apps/sim/app/(home)/components/navbar/navbar.tsx
+++ b/apps/sim/app/(home)/components/navbar/navbar.tsx
@@ -14,7 +14,7 @@ const NAV_LINKS: NavLink[] = [
{ label: 'Docs', href: 'https://docs.sim.ai', external: true },
{ label: 'Pricing', href: '/pricing' },
{ label: 'Careers', href: '/careers' },
- { label: 'Enterprise', href: '/enterprise' },
+ { label: 'Enterprise', href: 'https://form.typeform.com/to/jqCO12pF', external: true },
]
/** Logo and nav edge: horizontal padding (px) for left/right symmetry. */
@@ -86,7 +86,7 @@ export default function Navbar() {
Get started
diff --git a/apps/sim/app/(home)/components/pricing/pricing.tsx b/apps/sim/app/(home)/components/pricing/pricing.tsx
index 69f79a6eea..25e34505fe 100644
--- a/apps/sim/app/(home)/components/pricing/pricing.tsx
+++ b/apps/sim/app/(home)/components/pricing/pricing.tsx
@@ -123,7 +123,7 @@ function PricingCard({ tier }: PricingCardProps) {
) : isPro ? (
{tier.cta.label}
@@ -174,7 +174,7 @@ function PricingCard({ tier }: PricingCardProps) {
export default function Pricing() {
return (
-
+
{Array.from({ length: cols * rows }, (_, i) => (
-
+
))}
)
@@ -462,7 +462,7 @@ export default function Templates() {
Ship your agent in minutes
-
+
Pre-built templates for every use case—pick one, swap
models and tools to fit your stack, and deploy.
@@ -557,7 +557,7 @@ export default function Templates() {
type='button'
onClick={handleUseTemplate}
disabled={isPreparingTemplate}
- className='group/cta absolute top-[16px] right-[16px] z-10 inline-flex h-[32px] cursor-pointer items-center gap-[6px] rounded-[5px] border border-[#33C482] bg-[#33C482] px-[10px] font-[430] font-season text-[14px] text-black transition-[filter] hover:brightness-110'
+ className='group/cta absolute top-[16px] right-[16px] z-10 inline-flex h-[32px] cursor-pointer items-center gap-[6px] rounded-[5px] border border-[#FFFFFF] bg-[#FFFFFF] px-[10px] font-[430] font-season text-[14px] text-black transition-colors hover:border-[#E0E0E0] hover:bg-[#E0E0E0]'
>
{isPreparingTemplate ? 'Preparing...' : 'Use template'}
diff --git a/apps/sim/app/_styles/globals.css b/apps/sim/app/_styles/globals.css
index fccd7600ee..428d5a04ee 100644
--- a/apps/sim/app/_styles/globals.css
+++ b/apps/sim/app/_styles/globals.css
@@ -17,6 +17,18 @@
--terminal-height: 206px; /* TERMINAL_HEIGHT.DEFAULT */
}
+.workspace-root {
+ letter-spacing: 0.02em;
+}
+
+.workspace-root code,
+.workspace-root kbd,
+.workspace-root samp,
+.workspace-root pre,
+.workspace-root .font-mono {
+ letter-spacing: normal;
+}
+
.sidebar-container {
width: var(--sidebar-width);
transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
@@ -56,6 +68,19 @@ html[data-sidebar-collapsed] .sidebar-container .sidebar-collapse-btn {
opacity: 0;
}
+@keyframes sidebar-collapse-guard {
+ from {
+ pointer-events: none;
+ }
+ to {
+ pointer-events: auto;
+ }
+}
+
+.sidebar-container[data-collapsed] {
+ animation: sidebar-collapse-guard 250ms step-end;
+}
+
.sidebar-container.is-resizing {
transition: none;
}
@@ -160,7 +185,7 @@ html[data-sidebar-collapsed] .sidebar-container .sidebar-collapse-btn {
--brand-400: #8e4cfb;
--brand-secondary: #33b4ff;
--brand-tertiary: #22c55e;
- --brand-tertiary-2: #32bd7e;
+ --brand-tertiary-2: #33c482;
--selection: #1a5cf6;
--warning: #ea580c;
@@ -282,7 +307,7 @@ html[data-sidebar-collapsed] .sidebar-container .sidebar-collapse-btn {
--brand-400: #8e4cfb;
--brand-secondary: #33b4ff;
--brand-tertiary: #22c55e;
- --brand-tertiary-2: #32bd7e;
+ --brand-tertiary-2: #33c482;
--selection: #4b83f7;
--warning: #ff6600;
diff --git a/apps/sim/app/api/emails/preview/route.ts b/apps/sim/app/api/emails/preview/route.ts
index b98ddb6e0a..0658a73db7 100644
--- a/apps/sim/app/api/emails/preview/route.ts
+++ b/apps/sim/app/api/emails/preview/route.ts
@@ -171,7 +171,7 @@ export async function GET(request: NextRequest) {
([category, templates]) => `
${category}
- ${templates.map((t) => `${t} `).join('')}
+ ${templates.map((t) => `${t} `).join('')}
`
)
diff --git a/apps/sim/app/form/[identifier]/components/thank-you-screen.tsx b/apps/sim/app/form/[identifier]/components/thank-you-screen.tsx
index d561033425..6cd1f9e622 100644
--- a/apps/sim/app/form/[identifier]/components/thank-you-screen.tsx
+++ b/apps/sim/app/form/[identifier]/components/thank-you-screen.tsx
@@ -11,7 +11,7 @@ interface ThankYouScreenProps {
}
/** Default green color matching --brand-tertiary-2 */
-const DEFAULT_THANK_YOU_COLOR = '#32bd7e'
+const DEFAULT_THANK_YOU_COLOR = '#33C482'
/** Legacy blue default that should be treated as "no custom color" */
const LEGACY_BLUE_DEFAULT = '#3972F6'
diff --git a/apps/sim/app/resume/[workflowId]/[executionId]/resume-page-client.tsx b/apps/sim/app/resume/[workflowId]/[executionId]/resume-page-client.tsx
index 5b1ace2ea7..dab0ae04b6 100644
--- a/apps/sim/app/resume/[workflowId]/[executionId]/resume-page-client.tsx
+++ b/apps/sim/app/resume/[workflowId]/[executionId]/resume-page-client.tsx
@@ -1249,7 +1249,7 @@ export default function ResumeExecutionPage({
{message && {message} }
{/* Action */}
-
+
{loadingAction ? 'Resuming...' : 'Resume Execution'}
>
diff --git a/apps/sim/app/templates/[id]/template.tsx b/apps/sim/app/templates/[id]/template.tsx
index c08f362fc3..249b11ecc9 100644
--- a/apps/sim/app/templates/[id]/template.tsx
+++ b/apps/sim/app/templates/[id]/template.tsx
@@ -733,7 +733,7 @@ export default function TemplateDetails({ isWorkspaceContext = false }: Template
<>
{!currentUserId ? (
{
const callbackUrl =
isWorkspaceContext && workspaceId
@@ -749,7 +749,7 @@ export default function TemplateDetails({ isWorkspaceContext = false }: Template
) : isWorkspaceContext ? (
+
What should we get done
@@ -376,7 +376,7 @@ export function Home({ chatId }: HomeProps = {}) {
{messages.map((msg, index) => {
diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx
index aac52ff023..c947e01747 100644
--- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx
@@ -554,7 +554,7 @@ export function DocumentTagsModal({
Cancel
)}
onOpenChange(false)} disabled={isCreating}>
Cancel
-
+
{isCreating ? (
<>
diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-documents-modal/add-documents-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-documents-modal/add-documents-modal.tsx
index 1445105f15..56463b60f7 100644
--- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-documents-modal/add-documents-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/add-documents-modal/add-documents-modal.tsx
@@ -347,7 +347,7 @@ export function AddDocumentsModal({
Cancel
onOpenChange(false)} disabled={isSaving}>
Cancel
-
+
{isSaving ? (
<>
diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/rename-document-modal/rename-document-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/rename-document-modal/rename-document-modal.tsx
index 3e3b5b59bc..e701c171bb 100644
--- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/rename-document-modal/rename-document-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/rename-document-modal/rename-document-modal.tsx
@@ -124,7 +124,7 @@ export function RenameDocumentModal({
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/components/create-base-modal/create-base-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/components/create-base-modal/create-base-modal.tsx
index bbf198851d..8bf91682a9 100644
--- a/apps/sim/app/workspace/[workspaceId]/knowledge/components/create-base-modal/create-base-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/knowledge/components/create-base-modal/create-base-modal.tsx
@@ -522,7 +522,7 @@ export function CreateBaseModal({ open, onOpenChange }: CreateBaseModalProps) {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/components/edit-knowledge-base-modal/edit-knowledge-base-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/components/edit-knowledge-base-modal/edit-knowledge-base-modal.tsx
index 99ac1d02bf..bf0699813c 100644
--- a/apps/sim/app/workspace/[workspaceId]/knowledge/components/edit-knowledge-base-modal/edit-knowledge-base-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/knowledge/components/edit-knowledge-base-modal/edit-knowledge-base-modal.tsx
@@ -159,7 +159,7 @@ export function EditKnowledgeBaseModal({
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx b/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx
index e2ace66fd4..4a8d8ccd91 100644
--- a/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx
@@ -580,7 +580,7 @@ export const NotificationSettings = memo(function NotificationSettings({
handleTest(subscription.id)}
disabled={testNotification.isPending && testStatus?.id !== subscription.id}
>
@@ -1235,7 +1235,7 @@ export const NotificationSettings = memo(function NotificationSettings({
)}
@@ -1254,7 +1254,7 @@ export const NotificationSettings = memo(function NotificationSettings({
resetForm()
setShowForm(true)
}}
- variant='tertiary'
+ variant='primary'
disabled={isLoading}
>
diff --git a/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/components/create-schedule-modal/schedule-modal.tsx b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/components/create-schedule-modal/schedule-modal.tsx
index 8fac894200..5adce99b22 100644
--- a/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/components/create-schedule-modal/schedule-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/components/create-schedule-modal/schedule-modal.tsx
@@ -541,7 +541,7 @@ export function ScheduleModal({ open, onOpenChange, workspaceId, schedule }: Sch
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/components/create-api-key-modal/create-api-key-modal.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/components/create-api-key-modal/create-api-key-modal.tsx
index 5347ca38b8..078b915c45 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/components/create-api-key-modal/create-api-key-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/components/create-api-key-modal/create-api-key-modal.tsx
@@ -190,7 +190,7 @@ export function CreateApiKeyModal({
) : (
- openEditModal(provider.id)}
- >
+ openEditModal(provider.id)}>
Add Key
)}
@@ -391,7 +387,7 @@ export function BYOK() {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx
index e86d10fc9b..0f8ae7adc9 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx
@@ -200,7 +200,7 @@ export function Copilot() {
setIsCreateDialogOpen(true)
setCreateError(null)
}}
- variant='tertiary'
+ variant='primary'
disabled={isLoading}
>
@@ -302,7 +302,7 @@ export function Copilot() {
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx
index f78658bbd8..3b207d3014 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx
@@ -629,7 +629,7 @@ export function CredentialSets() {
/>
{canManageCredentialSets && (
-
setShowCreateModal(true)}>
+ setShowCreateModal(true)}>
Create
@@ -672,7 +672,7 @@ export function CredentialSets() {
handleAcceptInvitation(invitation.token)}
disabled={acceptInvitation.isPending}
>
@@ -844,7 +844,7 @@ export function CredentialSets() {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/credentials/credentials-manager.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/credentials/credentials-manager.tsx
index 2ab7183479..de1c96842f 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/credentials/credentials-manager.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/credentials/credentials-manager.tsx
@@ -1312,7 +1312,7 @@ export function CredentialsManager() {
{isSelectedAdmin && (
@@ -1415,7 +1415,7 @@ export function CredentialsManager() {
Save
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx
index 55c55cd124..1939170155 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx
@@ -101,7 +101,7 @@ export function CustomTools() {
className='h-auto flex-1 border-0 bg-transparent p-0 font-base leading-none placeholder:text-[var(--text-tertiary)] focus-visible:ring-0 focus-visible:ring-offset-0'
/>
-
setShowAddForm(true)} disabled={isLoading} variant='tertiary'>
+ setShowAddForm(true)} disabled={isLoading} variant='primary'>
Add
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/debug/debug.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/debug/debug.tsx
index 86fc826b06..e2a43cd692 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/debug/debug.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/debug/debug.tsx
@@ -50,7 +50,7 @@ export function Debug() {
disabled={importWorkflow.isPending}
/>
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/general/general.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/general/general.tsx
index 9d1654eb70..953154f0f6 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/general/general.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/general/general.tsx
@@ -515,7 +515,7 @@ export function General() {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx
index 1a83d31ad3..7d2d266491 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx
@@ -108,7 +108,7 @@ export function InboxEnableToggle() {
setIsEnableOpen(false)}>
Cancel
-
+
{toggleInbox.isPending ? 'Enabling...' : 'Enable'}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-settings-tab.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-settings-tab.tsx
index 5c83b56886..71d3ed6c31 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-settings-tab.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-settings-tab.tsx
@@ -282,7 +282,7 @@ export function InboxSettingsTab() {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox.tsx
index 171306c849..3a1d93cfa2 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox.tsx
@@ -41,7 +41,7 @@ export function Inbox() {
router.push(`/workspace/${workspaceId}/settings/subscription`)}
>
Upgrade to Max
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx
index 7518dc6fed..c83a68eef5 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx
@@ -720,7 +720,7 @@ export function IntegrationsManager() {
Cancel
{isSelectedAdmin && (
@@ -1108,7 +1108,7 @@ export function IntegrationsManager() {
setShowCreateModal(true)}
disabled={credentialsLoading}
- variant='tertiary'
+ variant='primary'
>
Connect
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-form-modal/mcp-server-form-modal.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-form-modal/mcp-server-form-modal.tsx
index 09bac3e8e3..1b2145991f 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-form-modal/mcp-server-form-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-form-modal/mcp-server-form-modal.tsx
@@ -719,12 +719,12 @@ export function McpServerFormModal({
{isSubmitting ? 'Adding...' : submitLabel}
) : (
-
+
{isSubmitting ? (mode === 'add' ? 'Adding...' : 'Saving...') : submitLabel}
)}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx
index 9044e7f4a5..6bdfc72166 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx
@@ -637,11 +637,7 @@ export function MCP({ initialServerId }: MCPProps) {
className='h-auto flex-1 border-0 bg-transparent p-0 font-base leading-none placeholder:text-[var(--text-tertiary)] focus-visible:ring-0 focus-visible:ring-offset-0'
/>
-
setShowAddModal(true)}
- variant='tertiary'
- disabled={serversLoading}
- >
+ setShowAddModal(true)} variant='primary' disabled={serversLoading}>
Add
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/recently-deleted.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/recently-deleted.tsx
index 4201d3673f..7829a4e8d0 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/recently-deleted.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/recently-deleted.tsx
@@ -303,7 +303,7 @@ export function RecentlyDeleted() {
Restored
router.push(
@@ -316,7 +316,7 @@ export function RecentlyDeleted() {
) : (
handleRestore(resource)}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-modal.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-modal.tsx
index 585bf75d89..8a0d001f41 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-modal.tsx
@@ -210,7 +210,7 @@ export function SkillModal({
onOpenChange(false)}>
Cancel
-
+
{saving ? 'Saving...' : initialValues ? 'Update' : 'Create'}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx
index 37a8559946..a88c156ced 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx
@@ -95,7 +95,7 @@ export function Skills() {
className='h-auto flex-1 border-0 bg-transparent p-0 font-base leading-none placeholder:text-[var(--text-tertiary)] focus-visible:ring-0 focus-visible:ring-offset-0'
/>
- setShowAddForm(true)} disabled={isLoading} variant='tertiary'>
+ setShowAddForm(true)} disabled={isLoading} variant='primary'>
Add
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/components/credit-balance/credit-balance.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/components/credit-balance/credit-balance.tsx
index fc496e1681..22106be41c 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/components/credit-balance/credit-balance.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/components/credit-balance/credit-balance.tsx
@@ -160,7 +160,7 @@ export function CreditBalance({
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/subscription.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/subscription.tsx
index 4ef46692d7..b527057389 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/subscription.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/subscription/subscription.tsx
@@ -244,7 +244,7 @@ function CreditPlanCard({
{isCancelledAtPeriodEnd ? 'Restore Subscription' : 'Manage plan'}
) : (
-
+
{buttonText}
)}
@@ -1128,7 +1128,7 @@ function TeamPlanModal({ open, onOpenChange, isAnnual, onConfirm }: TeamPlanModa
Cancel
onConfirm(selectedTier, selectedSeats)}
disabled={selectedSeats < 1}
>
@@ -1285,7 +1285,7 @@ function ManagePlanModal({
onOpenChange(false)}>
Close
-
+
Restore Subscription
>
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/member-invitation-card/member-invitation-card.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/member-invitation-card/member-invitation-card.tsx
index 16eabca3e5..3ec22ad20d 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/member-invitation-card/member-invitation-card.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/member-invitation-card/member-invitation-card.tsx
@@ -239,7 +239,7 @@ export function MemberInvitationCard({
onInviteMember()}
disabled={!hasValidEmails || isInviting || !hasAvailableSeats}
>
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/no-organization-view/no-organization-view.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/no-organization-view/no-organization-view.tsx
index 153e40c24f..9ee29b4c4a 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/no-organization-view/no-organization-view.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/no-organization-view/no-organization-view.tsx
@@ -111,7 +111,7 @@ export function NoOrganizationView({
)}
@@ -193,7 +193,7 @@ export function NoOrganizationView({
Cancel
@@ -217,7 +217,7 @@ export function NoOrganizationView({
- navigateToSettings({ section: 'subscription' })}>
+ navigateToSettings({ section: 'subscription' })}>
Upgrade to Team Plan
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats-overview/team-seats-overview.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats-overview/team-seats-overview.tsx
index 91cf0997d0..3c534acb89 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats-overview/team-seats-overview.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats-overview/team-seats-overview.tsx
@@ -71,7 +71,7 @@ export function TeamSeatsOverview({
{
onConfirmTeamUpgrade(2)
}}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats/team-seats.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats/team-seats.tsx
index 8375f31acf..60731dc451 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats/team-seats.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/team-seats/team-seats.tsx
@@ -135,7 +135,7 @@ export function TeamSeats({
onConfirm(selectedSeats)}
disabled={
isLoading ||
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/template-profile/template-profile.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/template-profile/template-profile.tsx
index 0162528287..0930cceda3 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/template-profile/template-profile.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/template-profile/template-profile.tsx
@@ -504,7 +504,7 @@ export function TemplateProfile() {
{saveStatus === 'saving' ? 'Saving...' : saveStatus === 'saved' ? 'Saved' : 'Save'}
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx
index bc569c6357..20d031a246 100644
--- a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx
@@ -350,7 +350,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
setShowAddWorkflow(true)}
disabled
>
@@ -365,7 +365,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
) : (
setShowAddWorkflow(true)}
disabled={!canAddWorkflow}
>
@@ -481,7 +481,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
workflows via the MCP block.
{
@@ -740,7 +740,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
Cancel
{
if (!toolToView) return
try {
@@ -860,7 +860,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
Cancel
@@ -921,7 +921,7 @@ function ServerDetailView({ workspaceId, serverId, onBack }: ServerDetailViewPro
Cancel
- setShowAddModal(true)} disabled={isLoading} variant='tertiary'>
+ setShowAddModal(true)} disabled={isLoading} variant='primary'>
Add
@@ -1204,7 +1204,7 @@ export function WorkflowMcpServers() {
{createServerMutation.isPending ? 'Adding...' : 'Add Server'}
diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx
index c633610728..6f35e7e309 100644
--- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx
@@ -221,7 +221,7 @@ export function RowModal({ mode, isOpen, onClose, table, row, rowIds, onSuccess
-
+
{isProcessing ? 'Allowing...' : 'Allow'}
{showAlwaysAllow && (
@@ -2130,7 +2130,7 @@ export function ToolCall({
onStateChange?.('background')
await sendToolDecision(toolCall.id, 'background')
}}
- variant='tertiary'
+ variant='primary'
title='Move to Background'
>
Move to Background
@@ -2144,7 +2144,7 @@ export function ToolCall({
onStateChange?.('background')
await sendToolDecision(toolCall.id, 'background')
}}
- variant='tertiary'
+ variant='primary'
title='Wake'
>
Wake
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx
index 895018d3bb..0c8b58b7b4 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx
@@ -48,7 +48,8 @@ import { ChatDeploy, type ExistingChat } from './components/chat/chat'
import { ApiInfoModal } from './components/general/components/api-info-modal'
import { GeneralDeploy } from './components/general/general'
import { McpDeploy } from './components/mcp/mcp'
-import { TemplateDeploy } from './components/template/template'
+
+// import { TemplateDeploy } from './components/template/template'
const logger = createLogger('DeployModal')
@@ -497,9 +498,9 @@ export function DeployModal({
Chat
)}
{/* Form */}
- {!permissionConfig.hideDeployTemplate && (
+ {/* {!permissionConfig.hideDeployTemplate && (
Template
- )}
+ )} */}
@@ -563,7 +564,7 @@ export function DeployModal({
/>
-
+ {/*
{workflowId && (
)}
-
+ */}
{/*
{workflowId && (
@@ -705,7 +706,7 @@ export function DeployModal({
)}
- {activeTab === 'template' && (
+ {/* {activeTab === 'template' && (
{hasExistingTemplate && templateStatus ? (
- )}
+ )} */}
{/* {activeTab === 'form' && (
@@ -1006,12 +1007,7 @@ function GeneralFooter({
-
+
{isUndeploying ? 'Undeploying...' : 'Undeploy'}
{needsRedeployment && (
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx
index d9bdcd6f44..acb70f0d49 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx
@@ -180,7 +180,7 @@ export function OAuthRequiredModal({
Cancel
-
+
Connect
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx
index a01ec336ec..3a057b5153 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx
@@ -863,7 +863,7 @@ try {
placeholder='Generate...'
/>
{
e.preventDefault()
@@ -955,7 +955,7 @@ try {
placeholder='Generate...'
/>
{
e.preventDefault()
@@ -1135,7 +1135,7 @@ try {
Cancel
setActiveSection('code')}
disabled={!isSchemaValid || !!schemaError}
>
@@ -1161,7 +1161,7 @@ try {
Cancel
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/tools/parameter.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/tools/parameter.tsx
index d69ad776b1..d6fc5a3e24 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/tools/parameter.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/tools/parameter.tsx
@@ -129,7 +129,7 @@ export function ParameterWithLabel({
placeholder='Generate with AI...'
/>
{
e.preventDefault()
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
index 047fbc2d83..d723dfb612 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
@@ -331,7 +331,7 @@ const renderLabel = (
placeholder='Generate with AI...'
/>
{
e.preventDefault()
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/training-modal/training-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/training-modal/training-modal.tsx
index 3aaf956295..92b527ddbe 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/training-modal/training-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/training-modal/training-modal.tsx
@@ -372,7 +372,7 @@ export function TrainingModal() {
Cancel
{
useCopilotTrainingStore.getState().stopTraining()
setLocalPrompt('')
@@ -439,7 +439,7 @@ export function TrainingModal() {
Start Training Session
@@ -470,7 +470,7 @@ export function TrainingModal() {
{selectedDatasets.size > 0 && (
@@ -755,7 +755,7 @@ export function TrainingModal() {
sendingLiveWorkflow ||
currentWorkflow.getBlockCount() === 0
}
- variant='tertiary'
+ variant='primary'
className={cn(
'w-full',
liveWorkflowSent && '!bg-green-600 !text-white hover:!bg-green-700',
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/help-modal/help-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/help-modal/help-modal.tsx
index 9c558baa5d..a51cef4be2 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/help-modal/help-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/help-modal/help-modal.tsx
@@ -539,7 +539,7 @@ export function HelpModal({ open, onOpenChange, workflowId, workspaceId }: HelpM
Cancel
-
+
{isSubmitting
? 'Submitting...'
: submitStatus === 'error'
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/context-menu/context-menu.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/context-menu/context-menu.tsx
index ef3f67192d..a6b8d5df91 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/context-menu/context-menu.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/context-menu/context-menu.tsx
@@ -209,7 +209,7 @@ function ColorPickerSubmenu({
className='h-[20px] min-w-0 flex-1 rounded-[4px] border border-[var(--border-1)] bg-[var(--surface-5)] px-[6px] font-medium text-[11px] text-[var(--text-primary)] uppercase transition-colors focus:outline-none focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0'
/>
{
e.stopPropagation()
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/create-workspace-modal/create-workspace-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/create-workspace-modal/create-workspace-modal.tsx
index 0402200275..1f775d13b3 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/create-workspace-modal/create-workspace-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/create-workspace-modal/create-workspace-modal.tsx
@@ -77,7 +77,7 @@ export function CreateWorkspaceModal({
Cancel
void handleSubmit()}
disabled={!name.trim() || isCreating}
>
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx
index 7b64b9cb56..117817f1c3 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx
@@ -575,7 +575,7 @@ export function InviteModal({ open, onOpenChange, workspaceName }: InviteModalPr
formRef.current?.requestSubmit()}
disabled={
!userPerms.canAdmin || isSubmitting || isSaving || !workspaceId || !hasNewInvites
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx
index f7137d249c..04bfafe163 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx
@@ -365,6 +365,7 @@ export function WorkspaceHeader({
align='start'
side={isCollapsed ? 'right' : 'bottom'}
sideOffset={isCollapsed ? 16 : 8}
+ className='flex max-h-none flex-col overflow-hidden'
style={
isCollapsed
? {
@@ -385,7 +386,7 @@ export function WorkspaceHeader({
) : (
<>
-
+
-
+
{workspaces.map((workspace) => (
@@ -492,7 +493,9 @@ export function WorkspaceHeader({
))}
+
+
Create new workspace
-
+
{!isInvitationsDisabled && (
<>
diff --git a/apps/sim/app/workspace/layout.tsx b/apps/sim/app/workspace/layout.tsx
index a6ed2dc814..c81c00bac5 100644
--- a/apps/sim/app/workspace/layout.tsx
+++ b/apps/sim/app/workspace/layout.tsx
@@ -18,5 +18,9 @@ export default function WorkspaceRootLayout({ children }: WorkspaceRootLayoutPro
}
: undefined
- return {children}
+ return (
+
+ {children}
+
+ )
}
diff --git a/apps/sim/components/emails/_styles/base.ts b/apps/sim/components/emails/_styles/base.ts
index 4b9e2f9e6b..a8ff908d7f 100644
--- a/apps/sim/components/emails/_styles/base.ts
+++ b/apps/sim/components/emails/_styles/base.ts
@@ -20,7 +20,7 @@ export const colors = {
/** Brand primary - purple */
brandPrimary: '#6f3dfa',
/** Brand tertiary - green (matches Run/Deploy buttons) */
- brandTertiary: '#32bd7e',
+ brandTertiary: '#33C482',
/** Border/divider color */
divider: '#ededed',
/** Footer background */
diff --git a/apps/sim/components/emcn/components/button-group/button-group.tsx b/apps/sim/components/emcn/components/button-group/button-group.tsx
index 9338774856..a9c6f22474 100644
--- a/apps/sim/components/emcn/components/button-group/button-group.tsx
+++ b/apps/sim/components/emcn/components/button-group/button-group.tsx
@@ -104,7 +104,7 @@ const buttonGroupItemVariants = cva(
{
variants: {
active: {
- true: 'bg-[var(--brand-tertiary-2)] text-[var(--text-inverse)] border-[var(--brand-tertiary-2)] hover:brightness-106',
+ true: 'bg-[#1D1D1D] text-[var(--text-inverse)] border-[#1D1D1D] hover:bg-[#2A2A2A] hover:border-[#2A2A2A] dark:bg-white dark:border-white dark:hover:bg-[#E0E0E0] dark:hover:border-[#E0E0E0]',
false:
'bg-[var(--surface-4)] text-[var(--text-secondary)] border-[var(--border)] hover:text-[var(--text-primary)] hover:bg-[var(--surface-6)] hover:border-[var(--border-1)]',
},
diff --git a/apps/sim/components/emcn/components/button/button.tsx b/apps/sim/components/emcn/components/button/button.tsx
index 702822792e..02de7fe269 100644
--- a/apps/sim/components/emcn/components/button/button.tsx
+++ b/apps/sim/components/emcn/components/button/button.tsx
@@ -14,11 +14,12 @@ const buttonVariants = cva(
'3d': 'text-[var(--text-tertiary)] border-t border-l border-r border-[var(--border-1)] shadow-[0_2px_0_0_var(--border-1)] hover:shadow-[0_4px_0_0_var(--border-1)] transition-all hover:-translate-y-0.5 hover:text-[var(--text-primary)]',
outline:
'border border-[var(--text-muted)] bg-transparent hover:border-[var(--text-secondary)]',
- primary: 'bg-[var(--brand-400)] text-[var(--text-primary)] hover:brightness-106',
+ primary:
+ 'bg-[#1D1D1D] text-[var(--text-inverse)] hover:text-[var(--text-inverse)] hover:bg-[#2A2A2A] dark:bg-white dark:hover:bg-[#E0E0E0]',
destructive: 'bg-[var(--text-error)] text-white hover:text-white hover:brightness-106',
secondary: 'bg-[var(--brand-secondary)] text-[var(--text-primary)]',
tertiary:
- '!bg-[var(--brand-tertiary-2)] !text-[var(--text-inverse)] hover:brightness-106 hover:!text-[var(--text-inverse)] ![transition-property:background-color,border-color,fill,stroke]',
+ '!bg-[var(--brand-tertiary-2)] !text-[var(--text-inverse)] hover:!text-[var(--text-inverse)] hover:!bg-[#2DAC72] dark:!bg-[var(--brand-tertiary-2)] dark:hover:!bg-[#2DAC72] dark:!text-[var(--text-inverse)] dark:hover:!text-[var(--text-inverse)]',
ghost: '',
subtle: 'text-[var(--text-body)] hover:text-[var(--text-body)] hover:bg-[var(--surface-4)]',
'ghost-secondary': 'text-[var(--text-muted)]',
diff --git a/apps/sim/components/emcn/components/modal/modal.tsx b/apps/sim/components/emcn/components/modal/modal.tsx
index e506a74945..d4f9269964 100644
--- a/apps/sim/components/emcn/components/modal/modal.tsx
+++ b/apps/sim/components/emcn/components/modal/modal.tsx
@@ -197,7 +197,7 @@ const ModalHeader = React.forwardRef (
@@ -296,7 +296,7 @@ const ModalTabsList = React.forwardRef<
>(
({ className, ...props }, ref) => (
-
+
)
)
diff --git a/apps/sim/content/blog/v0-5/components/diff-controls-demo.tsx b/apps/sim/content/blog/v0-5/components/diff-controls-demo.tsx
index 647954ae8b..7f98a698b9 100644
--- a/apps/sim/content/blog/v0-5/components/diff-controls-demo.tsx
+++ b/apps/sim/content/blog/v0-5/components/diff-controls-demo.tsx
@@ -70,7 +70,7 @@ export function DiffControlsDemo() {
height: '100%',
alignItems: 'center',
border: '1px solid rgba(0, 0, 0, 0.15)',
- backgroundColor: '#32bd7e',
+ backgroundColor: '#33C482',
paddingRight: '12px',
paddingLeft: '20px',
fontWeight: 500,
diff --git a/apps/sim/ee/access-control/components/access-control.tsx b/apps/sim/ee/access-control/components/access-control.tsx
index 00436aec59..f91ceaff1d 100644
--- a/apps/sim/ee/access-control/components/access-control.tsx
+++ b/apps/sim/ee/access-control/components/access-control.tsx
@@ -139,7 +139,7 @@ function AddMembersModal({
className='h-auto flex-1 border-0 bg-transparent p-0 font-base text-[14px] leading-none placeholder:text-[var(--text-tertiary)] focus-visible:ring-0 focus-visible:ring-offset-0'
/>
-
+
{allFilteredSelected ? 'Deselect All' : 'Select All'}
@@ -204,7 +204,7 @@ function AddMembersModal({
Cancel
@@ -725,7 +725,7 @@ export function AccessControl() {
Members
-
+
Add
@@ -843,7 +843,7 @@ export function AccessControl() {
/>
{
const allAllowed =
editingConfig?.allowedModelProviders === null ||
@@ -897,7 +897,7 @@ export function AccessControl() {
/>
{
const allAllowed =
editingConfig?.allowedIntegrations === null ||
@@ -958,7 +958,7 @@ export function AccessControl() {
/>
{
const allVisible =
!editingConfig?.hideKnowledgeBaseTab &&
@@ -1081,7 +1081,7 @@ export function AccessControl() {
Cancel
@@ -1114,7 +1114,7 @@ export function AccessControl() {
Discard Changes
{
setShowUnsavedChanges(false)
handleSaveConfig()
@@ -1156,7 +1156,7 @@ export function AccessControl() {
className='h-auto flex-1 border-0 bg-transparent p-0 font-base leading-none placeholder:text-[var(--text-tertiary)] focus-visible:ring-0 focus-visible:ring-offset-0'
/>