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(false)} onLogin={handleLogin} onSignup={() => setSignupDialogOpen(true)} /> setSignupDialogOpen(false)} /> ); } return ( <>
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)} /> ); }