"use client" import { LayoutGridIcon } from "lucide-react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { APP_SWITCHER_ICONS, CURRENT_APP_ID, authPortalBaseUrl, } from "@/lib/app-switcher-config" import { useAppSwitcherConfig } from "@/hooks/use-app-switcher" /** Header apps grid — app-shell-12. @see https://reui.io/preview/base/app-shell-12 */ export function AppsMenu() { const { config, isLoading } = useAppSwitcherConfig() const portalBase = authPortalBaseUrl() const portalAppsUrl = portalBase ? `${portalBase}/admin/apps` : null return ( } > {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 ( } className="h-auto flex-col gap-1.5 py-3 text-center [&_svg]:size-5" > {app.name} ) })}
{portalAppsUrl ? ( <> } className="justify-center text-sm font-medium" > Настроить на портале ) : null}
) }