import { Settings, Minus, X } from 'lucide-react'; import { useState } from 'react'; import { api } from '~renderer/utils/api'; import { useT } from '~renderer/i18n'; import DialogButton from './styled/DialogButton'; import PreferencesDialog from './PreferencesDialog'; import TextButton from './styled/TextButton'; import LanguageDropdown from './LanguageDropdown'; const TopBar = () => { const t = useT(); const [safeToQuit, setSafeToQuit] = useState(true); api.updater.observe.useSubscription(undefined, { onData: ({ state }) => setSafeToQuit(state !== 'verifying' && state !== 'updating') }); const minimize = api.general.minimize.useMutation(); const quit = api.general.quit.useMutation(); return (
}> {open => ( )} minimize.mutateAsync()} size={16} className="!p-1" /> (

{t('quit.title')}


{t('quit.warn')}

{t('quit.return')} quit.mutateAsync()} className="text-red" > {t('topbar.quit')}
)} > {open => ( (!safeToQuit ? open() : quit.mutateAsync())} size={16} className="!p-1 hocus:text-red" /> )}
); }; export default TopBar;