import AccountManager from '@/components/AccountManager' import LoginDialog from '@/components/LoginDialog' import LogoutDialog from '@/components/LogoutDialog' import NpubQrCode from '@/components/NpubQrCode' import PubkeyCopy from '@/components/PubkeyCopy' import { Button } from '@/components/ui/button' import { Separator } from '@/components/ui/separator' import { SimpleUserAvatar } from '@/components/UserAvatar' import { SimpleUsername } from '@/components/Username' import PrimaryPageLayout from '@/layouts/PrimaryPageLayout' import { toBookmarks, toProfile, toRelaySettings, toSettings, toWallet } from '@/lib/link' import { cn } from '@/lib/utils' import { useSecondaryPage } from '@/PageManager' import { useNostr } from '@/providers/NostrProvider' import { TPageRef } from '@/types' import { ArrowDownUp, Bookmark, ChevronRight, LogOut, Server, Settings, UserRound, Wallet } from 'lucide-react' import { forwardRef, HTMLProps, useState } from 'react' import { useTranslation } from 'react-i18next' const MePage = forwardRef((_, ref) => { const { t } = useTranslation() const { push } = useSecondaryPage() const { pubkey } = useNostr() const [loginDialogOpen, setLoginDialogOpen] = useState(false) const [logoutDialogOpen, setLogoutDialogOpen] = useState(false) if (!pubkey) { return ( } hideTitlebarBottomBorder >
) } return ( } hideTitlebarBottomBorder >
push(toProfile(pubkey))}> {t('Profile')} push(toRelaySettings())}> {t('Relays')} push(toBookmarks())}> {t('Bookmarks')} push(toWallet())}> {t('Wallet')} setLoginDialogOpen(true)}> {t('Switch account')} setLogoutDialogOpen(true)} hideChevron > {t('Logout')}
) }) MePage.displayName = 'MePage' export default MePage function MePageTitlebar() { const { push } = useSecondaryPage() return (
) } function Item({ children, className, hideChevron = false, ...props }: HTMLProps & { hideChevron?: boolean }) { return (
{children}
{!hideChevron && }
) }