import { Key } from 'react'; import { Icon, Button, MenuTrigger, Popover, Menu, MenuItem, MenuSeparator, MenuSection, } from '@umami/react-zen'; import { useMessages, useLoginQuery, useNavigation, useConfig } from '@/components/hooks'; import { LogOut, LockKeyhole, Settings, UserCircle, LifeBuoy, BookText, ExternalLink, } 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)} /> ); }