import Link from 'next/link' import { cn, sidebarMenuButtonVariants, SidebarMenuItem } from 'ui' import { isDirectLinkAtTopLevel } from './useMobileMenuNavigation' import type { Route } from '@/components/ui/ui.types' export interface TopLevelRouteItemProps { route: Route isActive: boolean hasSubmenu: boolean onTopLevelClick: (route: Route) => void onCloseSheet?: () => void } export function TopLevelRouteItem({ route, isActive, hasSubmenu, onTopLevelClick, onCloseSheet, }: TopLevelRouteItemProps) { const hasItems = hasSubmenu && !isDirectLinkAtTopLevel(route) const content = ( <> {route.icon && ( {route.icon} )} {route.label} ) const menuButtonClass = cn( sidebarMenuButtonVariants({ size: 'default', hasIcon: !!route.icon }), route.disabled && 'opacity-50 pointer-events-none' ) return ( {hasItems ? ( ) : route.link ? ( {content} ) : ( {content} )} ) }