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() {