'use client'; import { ChevronUp } from 'lucide-react'; import Image from 'next/image'; import type { User } from 'next-auth'; import { signOut, useSession } from 'next-auth/react'; import { useTheme } from 'next-themes'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from '@/components/ui/sidebar'; import { useRouter } from 'next/navigation'; import { toast } from './toast'; import { LoaderIcon } from './icons'; import { guestRegex } from '@/lib/constants'; export function SidebarUserNav({ user }: { user: User }) { const router = useRouter(); const { data, status } = useSession(); const { setTheme, resolvedTheme } = useTheme(); const isGuest = guestRegex.test(data?.user?.email ?? ''); return ( {status === 'loading' ? (
Loading auth status
) : ( {user.email {isGuest ? 'Guest' : user?.email} )} setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')} > {`Toggle ${resolvedTheme === 'light' ? 'dark' : 'light'} mode`} ); }