import { Link } from '@inertiajs/react'; import { LayoutGrid } from 'lucide-react'; import type { ReactNode } from 'react'; import type { PortalNavItem } from '@/lib/portal-navigation'; import { currentNavigationItem } from '@/lib/portal-navigation'; import { searchTerritoryHref } from '@/lib/search-territory'; import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from '@/components/ui/sidebar'; /** Render every authorised destination; a group is never reduced to its first link. */ export function PortalSidebarNavigation({ groups, url, }: { groups: PortalNavItem[]; url: string; }) { const active = currentNavigationItem(groups, url); const ordered = [ ...groups.filter((group) => group.id === 'work'), ...groups.filter((group) => group.id !== 'work'), ]; const links = (items: PortalNavItem[], depth = 0): ReactNode => items.map((item) => item.children ? (
{item.label}