import { Key } from 'react'; import { Icon, Button, PopupTrigger, Popup, Menu, Item, Text } from 'react-basics'; import { useRouter } from 'next/navigation'; import Icons from '@/components/icons'; import { useMessages, useLogin, useLocale } from '@/components/hooks'; import { CURRENT_VERSION } from '@/lib/constants'; import styles from './ProfileButton.module.css'; export function ProfileButton() { const { formatMessage, labels } = useMessages(); const { user } = useLogin(); const router = useRouter(); const { dir } = useLocale(); const cloudMode = !!process.env.cloudMode; const handleSelect = (key: Key, close: () => void) => { if (key === 'profile') { router.push('/profile'); } if (key === 'logout') { router.push('/logout'); } close(); }; return ( {(close: () => void) => ( handleSelect(key, close)} className={styles.menu}> {user.username} {formatMessage(labels.profile)} {!cloudMode && ( {formatMessage(labels.logout)} )}
{`v${CURRENT_VERSION}`}
)}
); } export default ProfileButton;