'use client' import { Navbar as NextUINavbar, NavbarContent, NavbarMenu, NavbarMenuToggle, NavbarBrand, NavbarItem, NavbarMenuItem, } from '@nextui-org/navbar' import { Dropdown, DropdownMenu, DropdownItem, DropdownTrigger, } from '@nextui-org/dropdown' import { Avatar, AvatarIcon } from '@nextui-org/avatar' import { Link } from '@nextui-org/link' import { link as linkStyles } from '@nextui-org/theme' import { siteConfig } from '@/config/site' import NextLink from 'next/link' import clsx from 'clsx' import { ThemeSwitch } from '@/components/theme-switch' import { GithubIcon } from '@/components/icons' import { Icon } from '@iconify/react' import NewBookmarkForm from '@/components/newBookmarkForm' import { usePathname, useRouter } from 'next/navigation' import { BookmarkCategory, User } from '@/types' import { useContext } from 'react' import { BookmarkCategoryContext } from '@/app/providers' export const Navbar = ({ user, categories, }: { user: User | null categories: BookmarkCategory[] }) => { const pathname = usePathname() if (pathname.startsWith('/login') || pathname.startsWith('/signup')) { return <> } const { setSelectedCategory } = useContext(BookmarkCategoryContext) return (

Dashboard

    {siteConfig.navItems.map((item) => ( {item.label} ))} Category {categories.length > 0 ? ( categories.map((category) => ( setSelectedCategory( category.id.toString() ) }> {category.name} )) ) : ( Nothing Here )}
{pathname.startsWith('/dashboard') && (
)}
{siteConfig.navMenuItems.map((item, index) => ( {item.label} ))}
) } function UserAvatar({ user }: { user: User | null }) { const router = useRouter() const logout = async () => { const response = await fetch('/api/auth/logout', { method: 'POST', }) router.refresh() } const login = () => { router.push('/login') } return ( } />

Signed in as

{user ? user.email : 'Guest'}

{user ? ( logout()}> Log Out ) : ( login()}> Login )}
) }