import { Badge } from "./components/ui/badge";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs";
import { Deployment } from "./Deployment";
import { useEnv, useMessages } from "./lib/state";
import { Messages } from "./Messages";

export function Tools() {
	const messages = useMessages();
	const env = useEnv();
	return (
		<Tabs defaultValue="messages" className="h-full flex-1 flex flex-col bg-muted">
			<TabsList className="!justify-start !rounded-none">
				<TabsTrigger value="messages" className="space-x-2">
					<div>Messages</div>
					<Badge>{messages.length}</Badge>
				</TabsTrigger>
				<TabsTrigger value="deployment">Deployment</TabsTrigger>
				<TabsTrigger value="deployKeys">Deploy keys</TabsTrigger>
			</TabsList>
			<div className="!overflow-y-auto p-1">
				<TabsContent value="messages">
					<Messages />
				</TabsContent>
				<TabsContent value="deployment">
					<Deployment />
				</TabsContent>
				<TabsContent value="deployKeys">{env && <>{env.deployKey}</>}</TabsContent>
			</div>
		</Tabs>
	);
}
