import { Button } from '@/components/ui/button' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu' import { toWallet } from '@/lib/link' import { cn } from '@/lib/utils' import { useSecondaryPage, useSidebarDrawer } from '@/PageManager' import { useNostr } from '@/providers/NostrProvider' import { useScreenSize } from '@/providers/ScreenSizeProvider' import { LogIn, LogOut, Plus, RefreshCw, Wallet } from 'lucide-react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import LoginDialog from '../LoginDialog' import LogoutDialog from '../LogoutDialog' import SignerTypeBadge from '../SignerTypeBadge' import { SimpleUserAvatar } from '../UserAvatar' import { SimpleUsername } from '../Username' import SidebarItem from './SidebarItem' export default function AccountButton({ collapse }: { collapse: boolean }) { const { pubkey } = useNostr() if (pubkey) { return } else { return } } function ProfileButton({ collapse }: { collapse: boolean }) { const { t } = useTranslation() const { account, accounts, switchAccount } = useNostr() const pubkey = account?.pubkey const { push } = useSecondaryPage() const { isSmallScreen } = useScreenSize() const { close: closeSidebarDrawer } = useSidebarDrawer() const [dropdownOpen, setDropdownOpen] = useState(false) const [loginDialogOpen, setLoginDialogOpen] = useState(false) const [logoutDialogOpen, setLogoutDialogOpen] = useState(false) if (!pubkey) return null const handleOpenLoginDialog = () => { setDropdownOpen(false) if (isSmallScreen) { closeSidebarDrawer() setTimeout(() => setLoginDialogOpen(true), 150) } else { setLoginDialogOpen(true) } } const handleOpenLogoutDialog = () => { setDropdownOpen(false) if (isSmallScreen) { closeSidebarDrawer() setTimeout(() => setLogoutDialogOpen(true), 150) } else { setLogoutDialogOpen(true) } } return ( <> push(toWallet())}> {t('Wallet')} {t('Switch account')} {accounts.map((act) => ( { if (act.pubkey !== pubkey) { switchAccount(act) } }} >
))}
{t('Add an Account')}
{t('Logout')} window.location.reload()} > {t('Force Reload')} ) } function LoginButton({ collapse }: { collapse: boolean }) { const { checkLogin } = useNostr() return ( checkLogin()} title="Login" collapse={collapse}> ) }