diff --git a/web/components/nav-bar.tsx b/web/components/nav-bar.tsx index 38c4af83..8c8c341a 100644 --- a/web/components/nav-bar.tsx +++ b/web/components/nav-bar.tsx @@ -10,9 +10,10 @@ import { ProfileMenu } from './profile-menu' export function NavBar(props: { darkBackground?: boolean wide?: boolean + assertUser?: 'signed-in' | 'signed-out' className?: string }) { - const { darkBackground, wide, className } = props + const { darkBackground, wide, assertUser, className } = props const user = useUser() @@ -31,8 +32,12 @@ export function NavBar(props: { - {(user || user === null) && ( - + {(user || user === null || assertUser) && ( + )} @@ -40,11 +45,19 @@ export function NavBar(props: { ) } -function NavOptions(props: { user: User | null; themeClasses: string }) { - const { user, themeClasses } = props +function NavOptions(props: { + user: User | null | undefined + assertUser: 'signed-in' | 'signed-out' | undefined + themeClasses: string +}) { + const { user, assertUser, themeClasses } = props + const showSignedIn = assertUser === 'signed-in' || !!user + const showSignedOut = + !showSignedIn && (assertUser === 'signed-out' || user === null) + return ( <> - {user === null && ( + {showSignedOut && ( - {user === null ? ( + {showSignedOut && ( <>