import { Button, Icon, Menu, MenuItem, MenuSection, MenuSeparator, MenuTrigger, Popover, } from '@umami/react-zen'; import type { Key } from 'react'; import { useConfig, useLoginQuery, useMessages, useNavigation } from '@/components/hooks'; import { BookText, ExternalLink, LifeBuoy, LockKeyhole, LogOut, Settings, UserCircle, } from '@/components/icons'; import { DOCS_URL } from '@/lib/constants'; export function SettingsButton() { const { formatMessage, labels } = useMessages(); const { user } = useLoginQuery(); const { router } = useNavigation(); const { cloudMode } = useConfig(); const handleAction = (id: Key) => { const url = id.toString(); if (cloudMode) { if (url === '/docs') { window.open(DOCS_URL, '_blank'); } else { window.location.href = url; } } else { router.push(url); } }; return ( } label={formatMessage(labels.settings)} /> {!cloudMode && user.isAdmin && ( } label={formatMessage(labels.admin)} /> )} {cloudMode && ( <> } label={formatMessage(labels.documentation)} > } label={formatMessage(labels.support)} /> )} } label={formatMessage(labels.logout)} /> ); }