"use client"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; import { BotIcon } from "lucide-react"; import { useEffect, useState } from "react"; import { Toggle } from "@/components/ui/toggle"; import { Skeleton } from "@/components/ui/skeleton"; import { useDockviewStore } from "@/stores/dockview"; import { DefaultDockviewOptions } from "@/config/dockview"; export default function BotVisibilityToggle() { const { api } = useDockviewStore(); const [isLoading, setIsLoading] = useState(true); const [isBotVisible, setBotVisible] = useState(false); const botOption = DefaultDockviewOptions.find( (option) => option.id === "Bot" ); useEffect(() => { if (api) { const panel = api.getPanel("Bot"); setBotVisible(!!panel); setIsLoading(false); } }, [api]); const handleBotToggle = (newState: boolean) => { setBotVisible(newState); if (!api) return; const panel = api.getPanel("Bot"); if (newState) { if (panel) { panel.api.setActive(); } else if (botOption) { api.addPanel(botOption).api.setActive(); } } else { if (panel) { api.removePanel(panel); } } }; return (
{isLoading ? ( ) : ( )}

{isBotVisible ? "Close Bot" : "Open Bot"}

); }