blob: 794b433aa08c50b841c849ce3b2c3dd4d237a16d [file] [log] [blame]
giod0026612025-05-08 13:00:36 +00001import { ReactFlowProvider } from "@xyflow/react";
2import "./App.css";
3import { CanvasBuilder } from "./Canvas";
4import { Tabs, TabsTrigger, TabsContent, TabsList } from "./components/ui/tabs";
5import { Config } from "./Config";
6import { Integrations } from "./Integrations";
7import { Toaster } from "./components/ui/toaster";
gio880de162025-05-11 07:26:00 +00008import { ProjectSelect } from "./ProjectSelect";
gioa1efbad2025-05-21 07:16:45 +00009import { Logs } from "./Monitoring";
gioda120432025-06-02 09:42:26 +000010import { Overview } from "./Overview";
gio5f2f1002025-03-20 18:38:48 +040011
12export default function App() {
giod0026612025-05-08 13:00:36 +000013 return (
14 <ReactFlowProvider>
giobc47f9f2025-05-12 08:31:07 +000015 <div className="h-screen flex flex-col p-1">
gio880de162025-05-11 07:26:00 +000016 <AppImpl />
17 <Toaster />
18 </div>
giod0026612025-05-08 13:00:36 +000019 </ReactFlowProvider>
20 );
gio5f2f1002025-03-20 18:38:48 +040021}
22
23function AppImpl() {
giod0026612025-05-08 13:00:36 +000024 return (
gioda120432025-06-02 09:42:26 +000025 <Tabs defaultValue="overview" className="flex-1 flex flex-col min-h-0">
gio8cadbc72025-05-16 07:51:02 +000026 <div className="flex justify-between border-b">
27 <TabsList className="!rounded-none">
gioda120432025-06-02 09:42:26 +000028 <TabsTrigger value="overview">Overview</TabsTrigger>
gio880de162025-05-11 07:26:00 +000029 <TabsTrigger value="canvas">Canvas</TabsTrigger>
gioa1efbad2025-05-21 07:16:45 +000030 <TabsTrigger value="monitoring">Monitoring</TabsTrigger>
gio880de162025-05-11 07:26:00 +000031 <TabsTrigger value="config">Config</TabsTrigger>
32 <TabsTrigger value="integrations">Integrations</TabsTrigger>
33 </TabsList>
gio8cadbc72025-05-16 07:51:02 +000034 <ProjectSelect className="w-fit min-w-[150px]" />
gio880de162025-05-11 07:26:00 +000035 </div>
gioda120432025-06-02 09:42:26 +000036 <TabsContent value="overview" className="!mt-0 flex-1 min-h-0">
37 <Overview />
38 </TabsContent>
giobc47f9f2025-05-12 08:31:07 +000039 <TabsContent value="canvas" className="!mt-0 flex-1 min-h-0">
giod0026612025-05-08 13:00:36 +000040 <CanvasBuilder />
41 </TabsContent>
giobc47f9f2025-05-12 08:31:07 +000042 <TabsContent value="config" className="!mt-0 flex-1 min-h-0">
giod0026612025-05-08 13:00:36 +000043 <Config />
44 </TabsContent>
giobc47f9f2025-05-12 08:31:07 +000045 <TabsContent value="integrations" className="!mt-0 flex-1 min-h-0">
giod0026612025-05-08 13:00:36 +000046 <Integrations />
47 </TabsContent>
gioa1efbad2025-05-21 07:16:45 +000048 <TabsContent value="monitoring" className="!mt-0 flex-1 min-h-0">
gio3a921b82025-05-10 07:36:09 +000049 <Logs />
50 </TabsContent>
giod0026612025-05-08 13:00:36 +000051 </Tabs>
52 );
gio5f2f1002025-03-20 18:38:48 +040053}