import * as React from "react" import { SquareTerminal, ServerCogIcon, ServerIcon, MonitorSmartphoneIcon, MonitorCogIcon, ChartNetworkIcon, Scroll, } from "lucide-react" import { NavMain } from "@/components/nav-main" import { NavUser } from "@/components/nav-user" import { TeamSwitcher } from "@/components/team-switcher" import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenuButton, SidebarRail, } from "@/components/ui/sidebar" import { $platformInfo, $userInfo } from "@/store/user" import { useStore } from "@nanostores/react" import { TbBuildingTunnel } from "react-icons/tb" import { RegisterAndLogin } from "./header" import { useRouter } from "next/navigation" import { useQuery } from "@tanstack/react-query" import { getPlatformInfo } from "@/api/platform" import { teams, getNavItems } from '@/config/nav' import { useTranslation } from 'react-i18next' export interface AppSidebarProps extends React.ComponentProps { children?: React.ReactNode footer?: React.ReactNode } export function AppSidebar({ ...props }: AppSidebarProps) { const router = useRouter() const { t } = useTranslation() const userInfo = useStore($userInfo) const { data: platformInfo } = useQuery({ queryKey: ['platformInfo'], queryFn: getPlatformInfo, }) React.useEffect(() => { $platformInfo.set(platformInfo) }, [platformInfo]) return ( router.push("/")} >
{t('app.title')} {t('app.subtitle')}
{props.children} {props.footer}
{userInfo && } {!userInfo && }
) }