import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarHeader, } from "@/components/ui/sidebar"; import logo from "@/assets/image/logo.png"; import { useLocation, useRouter } from "@tanstack/react-router"; import { useMemo } from "react"; import { Badge } from "@/components/ui/badge"; const title = import.meta.env.VITE_APP_TITLE; const isInside = import.meta.env.VITE_IS_INSIDE === "true"; type Props = { menus: any[]; isAdmin?: boolean; }; export function AppSidebar({ menus, isAdmin }: Props) { const router = useRouter(); const location = useLocation(); const currentPath = useMemo( () => location.pathname.replace(import.meta.env.VITE_BASEPATH, ""), [location.pathname], ); return (
{isAdmin ? "管理后台" : title}
{isInside && ( 内网 )}
{menus.map((item) => ( { router.navigate({ to: item.url }); }} className="data-[active=true]:!bg-primary data-[active=true]:!text-white hover:bg-primary/10" >
{item.icon} {item.title}
))}
); }