@@ -18,6 +18,7 @@ import { handleSignOut } from "../auth/actions";
1818import CooperLogo from "../cooper-logo" ;
1919import MobileHeaderButton from "./mobile-header-button" ;
2020import { Session } from "@cooper/auth" ;
21+ import { UserRole } from "node_modules/@cooper/db/src/schema/misc" ;
2122
2223interface HeaderProps {
2324 auth : React . ReactNode ;
@@ -32,6 +33,9 @@ export default function Header({ auth, loggedIn }: HeaderProps) {
3233 const [ isOpen , setIsOpen ] = useState ( false ) ;
3334 const session = api . auth . getSession . useQuery ( ) ;
3435 const utils = api . useUtils ( ) ;
36+ const isStudentOrDeveloper =
37+ session . data ?. user . role === UserRole . STUDENT ||
38+ session . data ?. user . role === UserRole . DEVELOPER ;
3539
3640 if ( isOpen ) {
3741 return (
@@ -101,6 +105,15 @@ export default function Header({ auth, loggedIn }: HeaderProps) {
101105 Log Out
102106 </ button >
103107 </ DropdownMenuLabel >
108+ < DropdownMenuSeparator />
109+ < DropdownMenuLabel className = "text-center" >
110+ < Link
111+ href = "/admin/dashboard"
112+ onClick = { ( ) => setIsOpen ( false ) }
113+ >
114+ Admin
115+ </ Link >
116+ </ DropdownMenuLabel >
104117 </ DropdownMenuContent >
105118 </ DropdownMenu >
106119 ) : (
@@ -136,7 +149,7 @@ export default function Header({ auth, loggedIn }: HeaderProps) {
136149 >
137150 Submit Feedback or Bug Reports
138151 </ Link >
139- { session . data && loggedIn && (
152+ { session . data && loggedIn && isStudentOrDeveloper && (
140153 < div className = "flex items-center gap-8" >
141154 < Link href = "/review-form" >
142155 < Button className = "hover:border-cooper-yellow-700 hover:bg-cooper-yellow-700 h-9 rounded-lg border-none border-cooper-yellow-500 bg-cooper-yellow-500 px-3 py-2 text-sm font-semibold text-white" >
@@ -151,7 +164,7 @@ export default function Header({ auth, loggedIn }: HeaderProps) {
151164
152165 { /* Mobile: when logged in show + and hamburger; when logged out show only login button */ }
153166 < div className = "justify-right mr-2 flex flex-shrink grid-cols-2 items-center gap-2 md:hidden" >
154- { session . data ? (
167+ { session . data && loggedIn && isStudentOrDeveloper ? (
155168 < >
156169 < Link href = "/review-form" >
157170 < Button className = "hover:border-cooper-yellow-700 hover:bg-cooper-yellow-700 h-9 rounded-lg border-none border-cooper-yellow-500 bg-cooper-yellow-500 px-3 py-2 text-sm font-semibold text-white" >
0 commit comments