blob: fc3bc1ffbe1dd16d2d38789ee7a117249c362dcd [file] [log] [blame]
gio5f2f1002025-03-20 18:38:48 +04001import { Badge } from "./components/ui/badge";
2import { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs";
giob77cb932025-05-19 09:37:14 +00003import { Gateways } from "./Gateways";
gio5f2f1002025-03-20 18:38:48 +04004import { useEnv, useMessages } from "./lib/state";
5import { Messages } from "./Messages";
6
7export function Tools() {
giod0026612025-05-08 13:00:36 +00008 const messages = useMessages();
9 const env = useEnv();
10 return (
gio8cadbc72025-05-16 07:51:02 +000011 <Tabs defaultValue="messages" className="h-full flex-1 flex flex-col bg-muted">
12 <TabsList className="!justify-start !rounded-none">
giod0026612025-05-08 13:00:36 +000013 <TabsTrigger value="messages" className="space-x-2">
14 <div>Messages</div>
gioda120432025-06-02 09:42:26 +000015 <Badge className="h-5 min-w-5 rounded-full px-2 font-mono tabular-nums">{messages.length}</Badge>
giod0026612025-05-08 13:00:36 +000016 </TabsTrigger>
gio05a993c2025-05-19 11:51:33 +000017 <TabsTrigger value="gateways" className="space-x-2">
18 <div>Gateways</div>
gio8323a052025-08-04 06:12:26 +000019 <Badge className="h-5 min-w-5 rounded-full px-2 font-mono tabular-nums">
20 {env.access.filter((a) => a.type !== "env_var").length}
21 </Badge>
gio05a993c2025-05-19 11:51:33 +000022 </TabsTrigger>
giod0026612025-05-08 13:00:36 +000023 <TabsTrigger value="deployKeys">Deploy keys</TabsTrigger>
24 </TabsList>
gio8cadbc72025-05-16 07:51:02 +000025 <div className="!overflow-y-auto p-1">
26 <TabsContent value="messages">
27 <Messages />
28 </TabsContent>
giob77cb932025-05-19 09:37:14 +000029 <TabsContent value="gateways">
30 <Gateways />
gio8cadbc72025-05-16 07:51:02 +000031 </TabsContent>
gioa71316d2025-05-24 09:41:36 +040032 <TabsContent value="deployKeys">{env.deployKeyPublic && <>{env.deployKeyPublic}</>}</TabsContent>
gio8cadbc72025-05-16 07:51:02 +000033 </div>
giod0026612025-05-08 13:00:36 +000034 </Tabs>
35 );
36}