import React, { useState } from 'react'; import { ChevronDown, LogOut, User, UserPlus } from 'lucide-react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu.tsx'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar.tsx'; import { Button } from '@/components/ui/button.tsx'; import LoginDialog from './LoginDialog'; import SignupDialog from './SignupDialog'; import { useLoggedInAccounts } from '@/hooks/useLoggedInAccounts'; export function AccountSwitcher() { const { currentUser, otherUsers, setLogin, removeLogin } = useLoggedInAccounts(); const [loginDialogOpen, setLoginDialogOpen] = useState(false); const [signupDialogOpen, setSignupDialogOpen] = useState(false); const handleLogin = () => { setLoginDialogOpen(false); setSignupDialogOpen(false); }; if (!currentUser) { return ( <> setLoginDialogOpen(true)} className='flex items-center gap-2 px-4 py-2 rounded-full bg-primary text-primary-foreground w-full font-medium transition-all hover:bg-primary/90 animate-scale-in' > Log in setLoginDialogOpen(false)} onLogin={handleLogin} onSignup={() => setSignupDialogOpen(true)} /> setSignupDialogOpen(false)} /> > ); } return ( <> {currentUser.metadata.name?.charAt(0)} {currentUser.metadata.name} Switch Account {otherUsers.map((user) => ( setLogin(user.id)} className='flex items-center gap-2 cursor-pointer p-2 rounded-md' > {user.metadata.name?.charAt(0)} {user.metadata.name} {user.id === currentUser.id && } ))} setLoginDialogOpen(true)} className='flex items-center gap-2 cursor-pointer p-2 rounded-md' > Add another account removeLogin(currentUser.id)} className='flex items-center gap-2 cursor-pointer p-2 rounded-md text-red-500' > Log out setLoginDialogOpen(false)} onLogin={handleLogin} onSignup={() => setSignupDialogOpen(true)} /> setSignupDialogOpen(false)} /> > ); }
{currentUser.metadata.name}
{user.metadata.name}