diff --git a/app/favicon.ico b/app/favicon.ico
new file mode 100644
index 0000000000..348ecc9aa6
Binary files /dev/null and b/app/favicon.ico differ
diff --git a/app/globals.css b/app/globals.css
index a23ac26b0e..574952a691 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -2,63 +2,67 @@
@tailwind components;
@tailwind utilities;
-body {
- font-family: Arial, Helvetica, sans-serif;
-}
-
@layer base {
:root {
--background: 0 0% 100%;
- --foreground: 0 0% 3.9%;
+ --foreground: 222.2 84% 4.9%;
+
--card: 0 0% 100%;
- --card-foreground: 0 0% 3.9%;
+ --card-foreground: 222.2 84% 4.9%;
+
--popover: 0 0% 100%;
- --popover-foreground: 0 0% 3.9%;
- --primary: 0 0% 9%;
- --primary-foreground: 0 0% 98%;
- --secondary: 0 0% 96.1%;
- --secondary-foreground: 0 0% 9%;
- --muted: 0 0% 96.1%;
- --muted-foreground: 0 0% 45.1%;
- --accent: 0 0% 96.1%;
- --accent-foreground: 0 0% 9%;
+ --popover-foreground: 222.2 84% 4.9%;
+
+ --primary: 222.2 47.4% 11.2%;
+ --primary-foreground: 210 40% 98%;
+
+ --secondary: 210 40% 96.1%;
+ --secondary-foreground: 222.2 47.4% 11.2%;
+
+ --muted: 210 40% 96.1%;
+ --muted-foreground: 215.4 16.3% 46.9%;
+
+ --accent: 210 40% 96.1%;
+ --accent-foreground: 222.2 47.4% 11.2%;
+
--destructive: 0 84.2% 60.2%;
- --destructive-foreground: 0 0% 98%;
- --border: 0 0% 89.8%;
- --input: 0 0% 89.8%;
- --ring: 0 0% 3.9%;
- --chart-1: 12 76% 61%;
- --chart-2: 173 58% 39%;
- --chart-3: 197 37% 24%;
- --chart-4: 43 74% 66%;
- --chart-5: 27 87% 67%;
+ --destructive-foreground: 210 40% 98%;
+
+ --border: 214.3 31.8% 91.4%;
+ --input: 214.3 31.8% 91.4%;
+ --ring: 222.2 84% 4.9%;
+
--radius: 0.5rem;
}
+
.dark {
- --background: 0 0% 3.9%;
- --foreground: 0 0% 98%;
- --card: 0 0% 3.9%;
- --card-foreground: 0 0% 98%;
- --popover: 0 0% 3.9%;
- --popover-foreground: 0 0% 98%;
- --primary: 0 0% 98%;
- --primary-foreground: 0 0% 9%;
- --secondary: 0 0% 14.9%;
- --secondary-foreground: 0 0% 98%;
- --muted: 0 0% 14.9%;
- --muted-foreground: 0 0% 63.9%;
- --accent: 0 0% 14.9%;
- --accent-foreground: 0 0% 98%;
+ --background: 222.2 84% 4.9%;
+ --foreground: 210 40% 98%;
+
+ --card: 222.2 84% 4.9%;
+ --card-foreground: 210 40% 98%;
+
+ --popover: 222.2 84% 4.9%;
+ --popover-foreground: 210 40% 98%;
+
+ --primary: 210 40% 98%;
+ --primary-foreground: 222.2 47.4% 11.2%;
+
+ --secondary: 217.2 32.6% 17.5%;
+ --secondary-foreground: 210 40% 98%;
+
+ --muted: 217.2 32.6% 17.5%;
+ --muted-foreground: 215 20.2% 65.1%;
+
+ --accent: 217.2 32.6% 17.5%;
+ --accent-foreground: 210 40% 98%;
+
--destructive: 0 62.8% 30.6%;
- --destructive-foreground: 0 0% 98%;
- --border: 0 0% 14.9%;
- --input: 0 0% 14.9%;
- --ring: 0 0% 83.1%;
- --chart-1: 220 70% 50%;
- --chart-2: 160 60% 45%;
- --chart-3: 30 80% 55%;
- --chart-4: 280 65% 60%;
- --chart-5: 340 75% 55%;
+ --destructive-foreground: 210 40% 98%;
+
+ --border: 217.2 32.6% 17.5%;
+ --input: 217.2 32.6% 17.5%;
+ --ring: 212.7 26.8% 83.9%;
}
}
@@ -66,7 +70,24 @@ body {
* {
@apply border-border;
}
+
body {
@apply bg-background text-foreground;
}
}
+
+/* Chrome, Safari, Edge, Opera */
+input[type='search']::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+ appearance: none;
+}
+
+/* Firefox */
+input[type='search']::-moz-search-cancel-button {
+ display: none;
+}
+
+/* Microsoft Edge */
+input[type='search']::-ms-clear {
+ display: none;
+}
\ No newline at end of file
diff --git a/app/layout.tsx b/app/layout.tsx
index f7fa87eb87..8a90f75d47 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,34 +1,20 @@
-import type { Metadata } from "next";
-import { Geist, Geist_Mono } from "next/font/google";
-import "./globals.css";
-
-const geistSans = Geist({
- variable: "--font-geist-sans",
- subsets: ["latin"],
-});
-
-const geistMono = Geist_Mono({
- variable: "--font-geist-mono",
- subsets: ["latin"],
-});
+import type { Metadata } from 'next'
+import './globals.css'
export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
-};
+ title: 'Sim Studio',
+ description:
+ 'Drag and drop agents to create workflows. Powered by Simplicity',
+}
export default function RootLayout({
children,
}: Readonly<{
- children: React.ReactNode;
+ children: React.ReactNode
}>) {
return (
-
- {children}
-
+ {children}
- );
+ )
}
diff --git a/app/page.tsx b/app/page.tsx
new file mode 100644
index 0000000000..8f5129010b
--- /dev/null
+++ b/app/page.tsx
@@ -0,0 +1,3 @@
+export default function Home() {
+ return Hello World
+}
diff --git a/app/(workspace)/workflows/page.tsx b/app/w/[id]/page.tsx
similarity index 100%
rename from app/(workspace)/workflows/page.tsx
rename to app/w/[id]/page.tsx
diff --git a/app/(workspace)/workflows/workflows.tsx b/app/w/[id]/workflows.tsx
similarity index 75%
rename from app/(workspace)/workflows/workflows.tsx
rename to app/w/[id]/workflows.tsx
index 7bdf1de4a3..f4fc6ce8eb 100644
--- a/app/(workspace)/workflows/workflows.tsx
+++ b/app/w/[id]/workflows.tsx
@@ -1,7 +1,7 @@
export default function Workflows() {
return (
-
Workflows
+ <>>
)
}
diff --git a/app/w/components/desktop-toolbar.tsx b/app/w/components/desktop-toolbar.tsx
new file mode 100644
index 0000000000..84262dde78
--- /dev/null
+++ b/app/w/components/desktop-toolbar.tsx
@@ -0,0 +1,28 @@
+'use client'
+
+import { useState } from 'react'
+import { ToolbarTabs } from './toolbar-tabs'
+
+export function DesktopToolbar() {
+ const [activeTab, setActiveTab] = useState<'basic' | 'advanced'>('basic')
+
+ return (
+
+
+
+
+ {activeTab === 'basic' ? (
+
+ {/* Basic tab content */}
+ Basic Content Here
+
+ ) : (
+
+ {/* Advanced tab content */}
+ Advanced Content Here
+
+ )}
+
+
+ )
+}
diff --git a/app/(workspace)/components/nav-item.tsx b/app/w/components/nav-item.tsx
similarity index 100%
rename from app/(workspace)/components/nav-item.tsx
rename to app/w/components/nav-item.tsx
diff --git a/app/(workspace)/components/search.tsx b/app/w/components/search.tsx
similarity index 100%
rename from app/(workspace)/components/search.tsx
rename to app/w/components/search.tsx
diff --git a/app/w/components/toolbar-tabs.tsx b/app/w/components/toolbar-tabs.tsx
new file mode 100644
index 0000000000..a822675b97
--- /dev/null
+++ b/app/w/components/toolbar-tabs.tsx
@@ -0,0 +1,44 @@
+'use client'
+
+interface ToolbarTabsProps {
+ activeTab: 'basic' | 'advanced'
+ onTabChange: (tab: 'basic' | 'advanced') => void
+}
+
+export function ToolbarTabs({ activeTab, onTabChange }: ToolbarTabsProps) {
+ return (
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/app/(workspace)/components/user.tsx b/app/w/components/user.tsx
similarity index 100%
rename from app/(workspace)/components/user.tsx
rename to app/w/components/user.tsx
diff --git a/app/(workspace)/layout.tsx b/app/w/layout.tsx
similarity index 69%
rename from app/(workspace)/layout.tsx
rename to app/w/layout.tsx
index 58ebd72e6b..46d8c245a5 100644
--- a/app/(workspace)/layout.tsx
+++ b/app/w/layout.tsx
@@ -10,6 +10,7 @@ import {
Settings,
PanelLeft,
Package2,
+ Plus,
} from 'lucide-react'
import {
Tooltip,
@@ -17,7 +18,12 @@ import {
TooltipTrigger,
} from '@/components/ui/tooltip'
import { Button } from '@/components/ui/button'
-import { Sheet, SheetContent, SheetTrigger } from '@/components/ui/sheet'
+import {
+ Sheet,
+ SheetContent,
+ SheetTrigger,
+ SheetTitle,
+} from '@/components/ui/sheet'
import {
Breadcrumb,
BreadcrumbItem,
@@ -28,6 +34,9 @@ import {
} from '@/components/ui/breadcrumb'
import { SearchInput } from './components/search'
import { User } from './components/user'
+import Image from 'next/image'
+import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
+import { DesktopToolbar } from './components/desktop-toolbar'
export default function WorkspaceLayout({
children,
@@ -37,13 +46,13 @@ export default function WorkspaceLayout({
return (
-
-
+
+
+
+
+
{children}
@@ -59,31 +68,29 @@ function DesktopNav() {