import { useEffect, useState } from 'react'; import { isElectron } from '../../platform/platform'; import { useT } from '../../i18n'; /** * Aviso de que uma atualização já baixou e só falta reiniciar. * * O processo principal já mostrava uma notificação do sistema, que some sozinha * e passa despercebida se a pessoa não estiver olhando. Este aviso fica na * janela até ser atendido ou dispensado. */ export function UpdateBanner() { const t = useT(); const [version, setVersion] = useState(null); const [dismissed, setDismissed] = useState(false); useEffect(() => { if (!isElectron() || !window.backspace?.onUpdateDownloaded) return; window.backspace.onUpdateDownloaded((info) => { setVersion(info.version); // Uma atualização nova reabre o aviso mesmo se a anterior foi dispensada: // dispensar significa "agora não", não "nunca mais". setDismissed(false); }); }, []); if (!version || dismissed) return null; return (
{t('update.ready')}

{t('update.readyVersion', { version })}

); }