;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Carolina Brígido

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Bolsonaro quebra o gelo e vai ao STF depois de discurso sobre eleições

                                 Jair Bolsonaro (PL) perdeu as eleições no segundo turno                              -                                 CAROLINA ANTUNES/PR
Jair Bolsonaro (PL) perdeu as eleições no segundo turno Imagem: CAROLINA ANTUNES/PR

Colunista do UOL

01/11/2022 18h16Atualizada em 01/11/2022 18h27

Depois de fazer o pronunciamento no Palácio da Alvorada sobre o resultado das eleições, o presidente Jair Bolsonaro foi ao STF (Supremo Tribunal Federal) conversar com os ministros. Dos 11 magistrados, 9 estavam presentes. Apenas Dias Toffoli e Ricardo Lewandowski se ausentaram, por estarem fora de Brasília.

Antes do pronunciamento, Bolsonaro telefonou pessoalmente para alguns ministros para convidar para uma reunião no Palácio da Alvorada, mas nenhum compareceu. Para boa parte dos ministros, o ideal seria não encontrar o presidente até que ele itisse publicamente a derrota para Luiz Inácio Lula da Silva.

Apesar de Bolsonaro ter criticado a Justiça Eleitoral e de não ter reconhecido verbalmente sua derrota nas urnas, o discurso do presidente foi bem avaliado no STF. Logo depois do pronunciamento de Bolsonaro, o tribunal divulgou nota em que "consigna a importância do pronunciamento do Presidente da República em garantir o direito de ir e vir em relação aos bloqueios e, ao determinar o início da transição, reconhecer o resultado final das eleições".

No pronunciamento, Bolsonaro afirmou que manifestações populares são sempre bem-vindas, desde que sejam pacíficas. O presidente deixou o local em pouco tempo e coube ao ministro da Casa Civil, Ciro Nogueira, anunciar que o governo fará a transição com a equipe de Luiz Inácio Lula da Silva. Para o STF, essa fala foi o suficiente para comprovar que Bolsonaro aceitou a derrota nas urnas.

"Nenhum ministro irá ao encontro do presidente antes de ele declarar publicamente que aceita o resultado das eleições", disse em caráter reservado um ministro do STF antes do pronunciamento de Bolsonaro. Depois do discurso, perguntado se iria à residência oficial, outro ministro respondeu: "Não me a pela cabeça". Diante do ime, coube a Bolsonaro quebrar o gelo e ir até o tribunal.

Nos quatro anos de mandato, Bolsonaro atacou a credibilidade da urna eletrônica e do sistema eleitoral brasileiro. Também não poupou críticas a ministros do STF e do TSE (Tribunal Superior Eleitoral) - em especial, Alexandre de Moraes, relator de inquéritos que miram o presidente. A preocupação na corte cresceu depois que manifestantes tomaram conta de rodovias, em protesto contra o resultado das eleições.