import { NavLink } from 'react-router' import { ActionButton } from '@react-spectrum/s2/ActionButton' import { Menu, MenuItem, MenuTrigger, SubmenuTrigger, Text } from '@react-spectrum/s2/Menu' import { Tooltip, TooltipTrigger } from '@react-spectrum/s2/Tooltip' import { menuItems, type NavigationItem } from '../route-config' import iconStyles from './menu-icon.module.css' import styles from './layout-basic.module.css' function containsPage(item: NavigationItem, pageId?: string): boolean { return item.id === pageId || !!item.children?.some((child) => containsPage(child, pageId)) } function renderMenuItem(item: NavigationItem) { const Icon = item.Icon const content = <>{Icon && }{item.title} return item.children ? ( {content} {item.children.map(renderMenuItem)} ) : ( {content} ) } function CollapsedNavigation({ activePageId }: { activePageId?: string }) { return (
{menuItems.map((item) => { const Icon = item.Icon const icon = Icon ? : item.title.slice(0, 1) return item.children ? (
{icon} {item.title} {item.children.map(renderMenuItem)}
) : ( {icon} ) })}
) } export default CollapsedNavigation