import type { AdminNavigationItem } from '@admin/types/navigation' export interface AdminNavigationGroup { label: string | null icon?: AdminNavigationItem['icon'] items: AdminNavigationItem[] } export function groupAdminNavigationItems(items: AdminNavigationItem[]): AdminNavigationGroup[] { const groups: AdminNavigationGroup[] = [] const groupMap = new Map() for (const item of items) { const key = item.group ?? null let groupItems = groupMap.get(key) if (!groupItems) { const arr: AdminNavigationItem[] = [] groupMap.set(key, arr) groups.push({ label: key, icon: item.groupIcon, items: arr }) groupItems = arr } groupItems.push(item) } return groups }