import React from "react"; import { Link } from "gatsby"; import { useConfigStore } from "../hooks/store"; import { Tooltip } from "antd"; import { Settings, MessagesSquare, Blocks, Bot, PanelLeftClose, PanelLeftOpen, GalleryHorizontalEnd, } from "lucide-react"; import Icon from "./icons"; interface INavItem { name: string; href: string; icon: React.ComponentType<{ className?: string }>; breadcrumbs?: Array<{ name: string; href: string; current?: boolean; }>; } const navigation: INavItem[] = [ { name: "Team Builder", href: "/build", icon: Bot, breadcrumbs: [{ name: "Team Builder", href: "/build", current: true }], }, { name: "Playground", href: "/", icon: MessagesSquare, breadcrumbs: [{ name: "Playground", href: "/", current: true }], }, { name: "Gallery", href: "/gallery", icon: GalleryHorizontalEnd, breadcrumbs: [{ name: "Gallery", href: "/gallery", current: true }], }, ]; const classNames = (...classes: (string | undefined | boolean)[]) => { return classes.filter(Boolean).join(" "); }; type SidebarProps = { link: string; meta?: { title: string; description: string; }; isMobile: boolean; }; const Sidebar = ({ link, meta, isMobile }: SidebarProps) => { const { sidebar, setHeader, setSidebarState } = useConfigStore(); const { isExpanded } = sidebar; // Set initial header state based on current route React.useEffect(() => { setNavigationHeader(link); }, [link]); // Always show full sidebar in mobile view const showFull = isMobile || isExpanded; const handleNavClick = (item: INavItem) => { // if (!isExpanded) { // setSidebarState({ isExpanded: true }); // } setHeader({ title: item.name, breadcrumbs: item.breadcrumbs, }); }; const setNavigationHeader = (path: string) => { const navItem = navigation.find((item) => item.href === path); if (navItem) { setHeader({ title: navItem.name, breadcrumbs: navItem.breadcrumbs, }); } else if (path === "/settings") { setHeader({ title: "Settings", breadcrumbs: [{ name: "Settings", href: "/settings", current: true }], }); } }; return (