'use client'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { BasedAvatar, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui'; import { useConvexAuth, useQuery } from 'convex/react'; import { useTVMode } from '@/components/providers'; import { useAuthActions } from '@convex-dev/auth/react'; import { api } from '~/convex/_generated/api'; export const AvatarDropdown = () => { const router = useRouter(); const { isLoading, isAuthenticated } = useConvexAuth(); const { signOut } = useAuthActions(); const { tvMode, toggleTVMode } = useTVMode(); const user = useQuery(api.auth.getUser); const currentImageUrl = useQuery( api.files.getImageUrl, user?.image ? { storageId: user.image } : 'skip', ); if (isLoading) return ; if (!isAuthenticated) return
; return ( {(user?.name ?? user?.email) && ( <> {user.name?.trim() ?? user.email?.trim()} )} Edit Profile ); };