|
|
@@ -21,28 +21,31 @@ type TopNavProps = React.HTMLAttributes<HTMLElement> & {
|
|
|
export function TopNav({ className, links, ...props }: TopNavProps) {
|
|
|
return (
|
|
|
<>
|
|
|
- <div className='lg:hidden'>
|
|
|
- <DropdownMenu modal={false}>
|
|
|
- <DropdownMenuTrigger asChild>
|
|
|
- <Button size='icon' variant='outline' className='md:size-7'>
|
|
|
- <Menu />
|
|
|
- </Button>
|
|
|
- </DropdownMenuTrigger>
|
|
|
- <DropdownMenuContent side='bottom' align='start'>
|
|
|
- {links.map(({ title, href, isActive, disabled }) => (
|
|
|
- <DropdownMenuItem key={`${title}-${href}`} asChild>
|
|
|
- <Link
|
|
|
- to={href}
|
|
|
- className={!isActive ? 'text-muted-foreground' : ''}
|
|
|
- disabled={disabled}
|
|
|
- >
|
|
|
- {title}
|
|
|
- </Link>
|
|
|
- </DropdownMenuItem>
|
|
|
- ))}
|
|
|
- </DropdownMenuContent>
|
|
|
- </DropdownMenu>
|
|
|
- </div>
|
|
|
+ <DropdownMenu modal={false}>
|
|
|
+ <DropdownMenuTrigger asChild>
|
|
|
+ <Button
|
|
|
+ size='icon'
|
|
|
+ variant='outline'
|
|
|
+ className={cn('md:size-7 lg:hidden', className)}
|
|
|
+ >
|
|
|
+ <Menu />
|
|
|
+ <span className='sr-only'>Toggle navigation menu</span>
|
|
|
+ </Button>
|
|
|
+ </DropdownMenuTrigger>
|
|
|
+ <DropdownMenuContent side='bottom' align='start'>
|
|
|
+ {links.map(({ title, href, isActive, disabled }) => (
|
|
|
+ <DropdownMenuItem key={`${title}-${href}`} asChild>
|
|
|
+ <Link
|
|
|
+ to={href}
|
|
|
+ className={!isActive ? 'text-muted-foreground' : ''}
|
|
|
+ disabled={disabled}
|
|
|
+ >
|
|
|
+ {title}
|
|
|
+ </Link>
|
|
|
+ </DropdownMenuItem>
|
|
|
+ ))}
|
|
|
+ </DropdownMenuContent>
|
|
|
+ </DropdownMenu>
|
|
|
|
|
|
<nav
|
|
|
className={cn(
|