diff --git a/src/app/(home)/players/[id]/user.tsx b/src/app/(home)/players/[id]/user.tsx index 24751b9..e6b3085 100644 --- a/src/app/(home)/players/[id]/user.tsx +++ b/src/app/(home)/players/[id]/user.tsx @@ -206,20 +206,20 @@ export function UserInfo() { - - - - - - - - Stream widget - - - - + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* Stream widget */} + {/* */} + {/* */} + {/* */} + {/**/}

diff --git a/src/app/_components/header.tsx b/src/app/_components/header.tsx index ad70a0e..a235bfb 100644 --- a/src/app/_components/header.tsx +++ b/src/app/_components/header.tsx @@ -1,7 +1,20 @@ +'use client' + +import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' +import { Button } from '@/components/ui/button' +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu' +import { auth } from '@/server/auth' import { ThemeToggle } from 'fumadocs-ui/components/layout/theme-toggle' import type { HomeLayoutProps } from 'fumadocs-ui/layouts/home' import type { LinkItemType } from 'fumadocs-ui/layouts/links' import { replaceOrDefault } from 'fumadocs-ui/layouts/shared' +import { LogIn, LogOut, Tv, User } from 'lucide-react' +import { signIn, signOut, useSession } from 'next-auth/react' import Link from 'next/link' import { Fragment } from 'react' import { Menu, MenuContent, MenuLinkItem, MenuTrigger } from './home/menu' @@ -15,13 +28,15 @@ import { import { Navbar } from './home/navbar' import { LargeSearchToggle, SearchToggle } from './search-toggle' -export function Header({ +export async function Header({ nav: { enableSearch = true, ...nav } = {}, finalLinks, themeSwitch, }: HomeLayoutProps & { finalLinks: LinkItemType[] }) { + const session = await auth() + const isAuthenticated = session?.user const navItems = finalLinks.filter((item) => ['nav', 'all'].includes(item.on ?? 'all') ) @@ -59,6 +74,65 @@ export function Header({ themeSwitch, )} + + {/* Sign In Button or User Menu */} + {isAuthenticated && session?.user ? ( + + + + + +

+
+

{session.user.name}

+
+
+ + + + Profile + + + + + + Stream Widget + + + signOut()}> + + Sign out + + + + ) : ( + + )}