import { NavLink, Outlet } from "react-router-dom"; import { ChevronsUpDown, LogOut, ShieldCheck } from "lucide-react"; import { cn } from "@/lib/utils"; import { navForRole } from "@/lib/rbac"; import { useAuth } from "@/lib/auth"; import { Avatar, AvatarFallback, } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; export function AppShell() { const { role, user, logout } = useAuth(); const groups = navForRole(role); // 展示文本标签(账号类型): 运营方/载体方/OPC/服务方 —— 后端下发 account_type_label, 不做代码映射 const roleLabel = (user as { account_type_label?: string })?.account_type_label || role || "运营方"; return (