;(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

Esse conteúdo é antigo

Bolsonaro diz a Maia que 'tudo acaba um dia' e comenta eleição: dará certo

Jair Bolsonaro apoia Arthur Lira (PP-AL) na eleição da Câmara e Rodrigo Pacheco (DEM-MG) na do Senado - Alexandre Neto/Photopress/Estadão Conteúdo
Jair Bolsonaro apoia Arthur Lira (PP-AL) na eleição da Câmara e Rodrigo Pacheco (DEM-MG) na do Senado Imagem: Alexandre Neto/Photopress/Estadão Conteúdo

Do UOL, em São Paulo*

01/02/2021 11h11

O presidente Jair Bolsonaro (sem partido) disse que "tudo vai dar certo" nas eleições para presidentes do Senado Federal e da Câmara dos Deputados, que serão realizadas hoje. Ele ainda mandou um recado para Rodrigo Maia (DEM-RJ), dizendo que "tudo acaba um dia" ao se referir ao fim do mandato do adversário político na presidência da Câmara.

Sem citar nomes, Bolsonaro foi instigado, em conversa no Palácio da Alvorada, por apoiadores que diziam estar torcendo pela vitória de Arthur Lira (PP-AL) como substituto de Maia. No Senado Federal, o presidente apoia Rodrigo Pacheco (DEM-MG).

"Se Deus quiser, vai dar tudo certo hoje", disse Bolsonaro, que tem sofrido críticas de apoiadores da chapa encabeçada por Baleia Rossi (MDB-SP), que enxergam tentativa de interferência do Governo para a vitória de Lira.

Um dos maiores críticos é justamente Rodrigo Maia. Depois que um apoiador pediu que Bolsonaro mandasse uma mensagem de despedida a ele, o presidente disse que tudo "acaba um dia".

"Seja feliz, tudo acaba um dia. Meu mandato vai acabar um dia. Temos que nos preparar para esse momento aí", disse.

O recado de Bolsonaro a Maia ocorre após o presidente da Câmara ameaçar aceitar um pedido de impeachment contra o presidente da República, ontem (31).

Diante da notícia que o DEM abandonaria a candidatura de Baleia Rossi (MDB-SP), Maia afirmou a aliados que poderia aceitar não só um, como mais pedidos de impeachment em seu último dia de mandato.

Críticas ao 'Fique em Casa'

Após a sua "mensagem de despedida" a Maia, Bolsonaro ainda disse que mandaria outro recado, mas sem ficar claro se era direto a Maia. Ele fez críticas ao que chama de política do "fica em casa".

"Já que pediu um recado, o recado que posso dar é o seguinte. Cada vez mais se comprova que a política do 'fique em casa' destrói economia, inunda o Brasil de desempregados, vem inflação, aumento de preços e não pode continuar culpando o presidente com essa política, que não é minha. 'Fique em casa' nunca foi e nunca será minha política", disse.

Bolsonaro tem se posicionado contra medidas de distanciamento social desde o início da pandemia do novo coronavírus, contrariando recomendações de epidemiologistas e especialistas que apontam o controle de contato como forma mais eficaz de diminuir a disseminação do vírus.

*Com informações da Estadão Conteúdo