"use client"; import { Building2, Check, LogOut, Plus } from "lucide-react"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "@/components/ui/sidebar"; import { useAuth } from "@/components/auth/auth-provider"; import type { Workspace } from "@/lib/types/api"; export function NavUser({ user, workspaceSwitcher, }: { user: { name: string; email: string; avatar: string; }; workspaceSwitcher?: { workspaces: Workspace[]; currentWorkspaceId?: string; onSelect: (workspace: Workspace) => void; onCreate?: () => void; }; }) { const { isMobile } = useSidebar(); const { logout } = useAuth(); const handleLogout = () => { logout(); }; const getInitials = (name: string) => { return name .split(" ") .map((n) => n[0]) .join("") .toUpperCase() .slice(0, 2); }; return ( {getInitials(user.name)}
{user.name} {user.email}
{getInitials(user.name)}
{user.name} {user.email}
{workspaceSwitcher && ( <> Воркспейсы {workspaceSwitcher.workspaces.length > 0 ? ( workspaceSwitcher.workspaces.map((workspace) => ( workspaceSwitcher.onSelect(workspace)} className="gap-2 p-2 text-sm" >
{workspace.name} {workspaceSwitcher.currentWorkspaceId === workspace.id && ( )}
)) ) : (
Нет доступных воркспейсов
)} {workspaceSwitcher.onCreate && ( <>
Создать воркспейс
)} )} Выйти
); }