"use client" /** * UtilityUserMenu — compact profile/account trigger for the shell utility * bar. Same menu content as the old sidebar `NavUser`, but a small * avatar-only trigger suited to a horizontal bar rather than the sidebar * rail (no `useSidebar()` icon-collapse branching needed here). * * School / program scope stays on the utility bar as the school avatar * (`UtilityBarSchoolSwitcher`, program name off) — not duplicated here. */ import { Link } from "react-router" import { useProductSwitch } from "@exxatdesignux/ui/components/shell/product-route-sync" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip" import { HomeLayoutMenu } from "@/components/product-home/home-layout-menu" import { LibrarySearchModeMenu } from "@/components/library-search-mode-menu" import { SignInFlowMenuItem } from "@/components/sign-in-flow-menu-item" import { ThemeModeMenu } from "@/components/theme-mode-menu" import { useProduct } from "@/contexts/product-context" import { getSecondaryNavForProduct, NAV_USER } from "@/lib/mock/navigation" import { useLogOut } from "@/hooks/use-log-out" import { useWhatsNewSheet } from "@/components/whats-new-sheet-context" import { Badge } from "@/components/ui/badge" import { utilityBarActionButtonClass } from "@/components/utility-bar-chrome" import { cn } from "@/lib/utils" export function UtilityUserMenu() { const switchProduct = useProductSwitch() const logOut = useLogOut() const { product } = useProduct() const [workspaceSettings] = getSecondaryNavForProduct(product) const user = NAV_USER const { openSheet, unseenCount } = useWhatsNewSheet() return ( {user.name} {/* ── User identity ──────────────────────────────── */}
{user.name} {user.email}
{/* ── Account actions ────────────────────────────── */}