"use client" import { CheckIcon, ChevronsUpDownIcon } from "lucide-react" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuShortcut, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "@/components/ui/sidebar" import { APP_SWITCHER_ICONS, CURRENT_APP_ID, getCurrentApp, } from "@/lib/app-switcher-config" import { useAppSwitcherConfig } from "@/hooks/use-app-switcher" /** Sidebar brand switcher — app-shell-12. @see https://reui.io/preview/base/app-shell-12 */ export function AppSwitcher() { const { isMobile } = useSidebar() const { config, isLoading } = useAppSwitcherConfig() const current = getCurrentApp(config) const CurrentIcon = APP_SWITCHER_ICONS[current.icon] ?? APP_SWITCHER_ICONS.server return ( } >
{current.name} {current.subtitle ? ( {current.subtitle} ) : null}
{isLoading ? "Загрузка…" : config.menuLabel}
{config.apps.map((app) => { const Icon = APP_SWITCHER_ICONS[app.icon] ?? APP_SWITCHER_ICONS.server const isCurrent = app.id === CURRENT_APP_ID if (isCurrent) { return ( {app.name} ) } return ( } > {app.name} {app.shortcut ? ( {app.shortcut} ) : null} ) })}
) }