Extract out desktop nav menu.

This commit is contained in:
Daniel Gent 2021-08-27 16:06:51 +02:00
parent dc365b9232
commit 530e90313e
6 changed files with 42 additions and 28 deletions

View File

@ -0,0 +1,11 @@
.navMenu {
@apply hidden ml-6 space-x-4 lg:block;
}
.link {
@apply items-center transition ease-in-out duration-75 cursor-pointer text-accent-0 border-b-2 border-opacity-0;
}
.link:hover {
@apply border-b-2 border-opacity-40;
}

View File

@ -0,0 +1,28 @@
import { FC, } from 'react'
import s from './DesktopNavMenu.module.css'
import Link from 'next/link'
interface Link {
href: string
label: string
}
interface DesktopNavMenuProps {
links?: Link[]
}
const DesktopNavMenu: FC<DesktopNavMenuProps> = ({ links }) => {
return (
<nav className={s.navMenu}>
<Link href="/search">
<a className={s.link}>All</a>
</Link>
{links?.map((l) => (
<Link href={l.href} key={l.href}>
<a className={s.link}>{l.label}</a>
</Link>
))}
</nav>
)
}
export default DesktopNavMenu

View File

@ -3,6 +3,7 @@
height: 30px; height: 30px;
margin: 0 auto; margin: 0 auto;
width: 30px; width: 30px;
@apply lg:hidden;
} }
.menuButton::after, .menuButton::after,

View File

@ -1,5 +1,4 @@
import { FC } from 'react' import { FC } from 'react'
import PropTypes from 'prop-types'
import s from './MenuButton.module.css' import s from './MenuButton.module.css'
import cn from 'classnames' import cn from 'classnames'
@ -17,9 +16,4 @@ const MenuButton: FC<MenuButtonProps> = ({ isOpen, onClick }) => {
) )
} }
MenuButton.propTypes = {
isOpen: PropTypes.bool.isRequired,
onClick: PropTypes.func.isRequired,
}
export default MenuButton export default MenuButton

View File

@ -15,18 +15,6 @@
padding: 10px 0; padding: 10px 0;
} }
.navMenu {
@apply hidden ml-6 space-x-4 lg:block;
}
.link {
@apply items-center transition ease-in-out duration-75 cursor-pointer text-accent-0 border-b-2 border-opacity-0;
}
.link:hover {
@apply border-b-2 border-opacity-40;
}
.logo { .logo {
@apply cursor-pointer; @apply cursor-pointer;
} }

View File

@ -3,6 +3,7 @@ import Link from 'next/link'
import s from './Navbar.module.css' import s from './Navbar.module.css'
import NavbarRoot from './NavbarRoot' import NavbarRoot from './NavbarRoot'
import MenuButton from './MenuButton' import MenuButton from './MenuButton'
import DesktopNavMenu from './DesktopNavMenu'
import { Logo, Container } from '@components/ui' import { Logo, Container } from '@components/ui'
import { Searchbar, UserNav } from '@components/common' import { Searchbar, UserNav } from '@components/common'
@ -27,16 +28,7 @@ const Navbar: FC<NavbarProps> = ({ links }) => {
<Logo /> <Logo />
</a> </a>
</Link> </Link>
<nav className={s.navMenu}> <DesktopNavMenu links={links} />
<Link href="/search">
<a className={s.link}>All</a>
</Link>
{links?.map((l) => (
<Link href={l.href} key={l.href}>
<a className={s.link}>{l.label}</a>
</Link>
))}
</nav>
</div> </div>
<MenuButton <MenuButton
isOpen={isMenuOpen} isOpen={isMenuOpen}