diff --git a/components/Header.tsx b/components/Header.tsx index 4d5d1b6..3caa32a 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -1,112 +1,10 @@ -import Link from 'next/link' import {usePathname} from 'next/navigation' -import {Fragment, useEffect, useRef} from 'react' -import {Popover, Transition} from '@headlessui/react' -import clsx from 'clsx' +import {useEffect, useRef} from 'react' import {Container} from './Container' -import {MobileNavItem} from './ui/MobileNavItem' +import {MobileNavigation, DesktopNavigation} from './ui/Navigation' import {Avatar, AvatarContainer} from './ui/Avatar' -import {CloseIcon} from './icons/CloseIcon' -import {ChevronDownIcon} from './icons/ChevronDownIcon' import {MoonIcon} from './icons/MoonIcon' import {SunIcon} from './icons/SunIcon' -import type {Props} from 'types' - -function MobileNavigation(props: Props) { - return ( - - - Menu - - - - - - - - -
- - - -

- Navigation -

-
- -
-
-
-
- ) -} - -function NavItem({href, children}: { href: string } & Props) { - let isActive = usePathname() === href - - return ( -
  • - - {children} - {isActive && ( - - )} - -
  • - ) -} - -function DesktopNavigation(props: Props) { - return ( - - ) -} function ModeToggle() { function disableTransitionsTemporarily() { diff --git a/components/ui/MobileNavItem.tsx b/components/ui/MobileNavItem.tsx deleted file mode 100644 index 9c0a1ed..0000000 --- a/components/ui/MobileNavItem.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import {Props} from '@/types'; -import {Popover} from '@headlessui/react' -import Link from 'next/link' - -export function MobileNavItem({href, children}: { href: string } & Props) { - return ( -
  • - - {children} - -
  • - ) -} \ No newline at end of file diff --git a/components/ui/Navigation.tsx b/components/ui/Navigation.tsx new file mode 100644 index 0000000..cc2ee5e --- /dev/null +++ b/components/ui/Navigation.tsx @@ -0,0 +1,115 @@ +import {Fragment} from 'react' +import {usePathname} from 'next/navigation' +import {Popover, Transition} from '@headlessui/react' +import clsx from 'clsx' +import Link from 'next/link' +import {ChevronDownIcon} from '@/components/icons/ChevronDownIcon' +import {CloseIcon} from '@/components/icons/CloseIcon' +import {Props} from '@/types' + +function MobileNavItem({href, children}: { href: string } & Props) { + return ( +
  • + + {children} + +
  • + ) +} + +export function MobileNavigation(props: Props) { + return ( + + + Menu + + + + + + + + +
    + + + +

    + Navigation +

    +
    + +
    +
    +
    +
    + ) +} + +function NavItem({href, children}: { href: string } & Props) { + let isActive = usePathname() === href + + return ( +
  • + + {children} + {isActive && ( + + )} + +
  • + ) +} + +export function DesktopNavigation(props: Props) { + return ( + + ) +} +