'use client' import { Avatar, AvatarFallback, AvatarImage } from '@thedaviddias/design-system/avatar' import { Badge } from '@thedaviddias/design-system/badge' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@thedaviddias/design-system/dropdown-menu' import { Eye, EyeOff, LogOut, Plus, Settings, User } from 'lucide-react' import Link from 'next/link' import { AuthTierIndicator } from '@/components/auth/auth-tier-indicator' import { getRoute } from '@/lib/routes' interface UserDropdownMenuProps { user: any userSlug: string isProfilePrivate: boolean needsNameOrUsername: boolean onSignOut: () => void } /** * User dropdown menu component * * @param user - User object from auth * @param userSlug - User slug for profile link * @param isProfilePrivate - Whether profile is private * @param needsNameOrUsername - Whether user needs to complete profile * @param onSignOut - Sign out handler * @returns JSX.Element - User dropdown menu */ export function UserDropdownMenu({ user, userSlug, isProfilePrivate, needsNameOrUsername, onSignOut }: UserDropdownMenuProps) { return ( {user.user_metadata?.avatar_url ? ( ) : ( {user.name ? user.name.charAt(0).toUpperCase() : 'U'} )} {/* User Info Section */}
{user.name &&

{user.name}

} {user.email &&

{user.email}

}
{/* Navigation Items */}
Profile {needsNameOrUsername ? ( <> Hidden ) : isProfilePrivate ? ( <> Private ) : ( <> Public )} Add your llms.txt Settings
{/* Danger Zone */}
Log out
) }