diff --git a/daily-thought-frontend/src/components/navigation/NavBar.tsx b/daily-thought-frontend/src/components/navigation/NavBar.tsx index 8cf60d265a205aab84851b36b8a2f16cdcd8c298..c9ad4d4ca284e3c7e7db41f661e1e66f907474e6 100644 --- a/daily-thought-frontend/src/components/navigation/NavBar.tsx +++ b/daily-thought-frontend/src/components/navigation/NavBar.tsx @@ -1,6 +1,6 @@ import { FC, PropsWithChildren } from 'react' import { Disclosure, Menu } from '@headlessui/react' -import { Bars3Icon, BellIcon, XMarkIcon } from '@heroicons/react/24/outline' +import { Bars3Icon, BellIcon, XMarkIcon, } from '@heroicons/react/24/outline' import { UserCircleIcon, MagnifyingGlassIcon } from '@heroicons/react/24/solid' import { User } from '@/types/user' import NavMenu from './NavMenu' @@ -12,11 +12,18 @@ import Router from 'next/router' const navigation = [ { name: 'My Feed', href: '/feed', current: true } ] -const userNavigation = [ - { name: 'Your Profile', href: '/profile' }, - { name: 'Friends', href: '/search'}, - { name: 'Sign out', href: '/signOut' }, -] + +const userNavigation = (isAdmin: Boolean) => { + const list = [ + { name: 'Your Profile', href: '/profile' }, + { name: 'Friends', href: '/search' } + ]; + + isAdmin && list.push({ name: 'Questions', href: '/questions' }); + list.push({ name: 'Sign out', href: '/signOut' }); + return list; +}; + function classNames(...classes: any) { return classes.filter(Boolean).join(' ') @@ -98,7 +105,7 @@ const NavBar: FC<PropsWithChildren<NavBarProps>> = ({ <div className='w-full border-b'> <p className='block px-4 py-2 text-sm text-gray-700 font-bold'>{`Hi, ${user?.firstName || user?.username}`}</p> </div> - {userNavigation.map((item) => ( + {userNavigation(user.admin).map((item) => ( <Menu.Item key={item.name}> {({ active }) => ( <a @@ -180,7 +187,7 @@ const NavBar: FC<PropsWithChildren<NavBarProps>> = ({ </button> </div> <div className="mt-4 space-y-1 px-2"> - {userNavigation.map((item) => ( + {userNavigation(user?.admin ?? false).map((item) => ( <Disclosure.Button key={item.name} as="a"