import { useState, useEffect } from 'react'; import { isElectron } from '../../platform/platform'; import { useT } from '../../i18n'; interface UpdateError { message: string; releaseUrl: string; } /** * Aviso de falha na atualização automática, com link para baixar à mão. * * O caso de sucesso ("já baixou, é só reiniciar") ficava aqui também, e * aparecia junto com o UpdateBanner — dois avisos da mesma coisa, um deles em * inglês. Esse pedaço saiu; sucesso agora é só do UpdateBanner. */ export function UpdateToast() { const t = useT(); const [failedUpdate, setFailedUpdate] = useState(null); useEffect(() => { if (!isElectron() || !window.backspace) return; window.backspace.onUpdateError((error) => setFailedUpdate(error)); // Um download que dá certo apaga o erro anterior: o aviso de falha não pode // sobreviver a uma tentativa bem-sucedida. window.backspace.onUpdateDownloaded(() => setFailedUpdate(null)); }, []); if (!failedUpdate) return null; return (

{t('update.failed')}

{t('update.failedBody')}

{t('update.download')}
); }