Created Layout & Responsive Header Component

This commit is contained in:
aftabrehan
2024-02-01 20:28:42 +05:00
parent 9ac97c7f9a
commit bc7cad7e3b
21 changed files with 413 additions and 30 deletions

45
components/navbar.tsx Normal file
View File

@@ -0,0 +1,45 @@
import clsx from 'clsx'
import { NavDropdown } from '@/components/nav-dropdown'
import { ALL_NAV_ITEMS, LESS_NAV_ITEMS } from '@/constants/nav-items'
interface navbarProps {
className?: string
}
export const Navbar = ({ className }: navbarProps) => (
<nav className={clsx('w-full max-w-6xl', className)}>
<ul className="w-full hidden lg:flex items-center justify-between gap-1">
{ALL_NAV_ITEMS.map((navItem, i) => (
<NavDropdown
key={i}
position={
i === 0
? 'left'
: i === ALL_NAV_ITEMS.length - 1
? 'right'
: 'center'
}
{...navItem}
/>
))}
</ul>
<ul className="w-full flex lg:hidden items-center justify-between gap-1">
{LESS_NAV_ITEMS.map((navItem, i) => (
<NavDropdown
key={i}
position={
i === 0
? 'left'
: i === LESS_NAV_ITEMS.length - 1
? 'right'
: 'center'
}
{...navItem}
/>
))}
</ul>
</nav>
)