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

Live de Flávio Bolsonaro e Crivella antecipa campanha e ignora Queiroz

Flávio Bolsonaro se filiou ao partido de Crivella nos últimos meses - Divulgação
Flávio Bolsonaro se filiou ao partido de Crivella nos últimos meses Imagem: Divulgação

Gabriel Sabóia

Do UOL, no Rio

21/07/2020 12h31

Em um indicativo de como deve ser a campanha eleitoral, o prefeito do Rio de Janeiro, Marcelo Crivella, e o senador Flávio Bolsonaro (ambos do Republicanos-RJ) enalteceram parceria entre as esferas municipal e federal e ignoraram o escândalo das "rachadinhas". O encontro virtual se deu em uma live na noite de ontem (20), que atraiu pouca audiência.

Pré-candidato à reeleição, Crivella espera receber o apoio da família do presidente Jair Bolsonaro (sem partido). Ele mirou apenas a cooperação entre eles, mencionando uma suposta conspiração midiática contra os seus mandatos —horas antes do encontro, Flávio depôs ao MPF (Ministério Público Federal) sobre suposto vazamento da Operação Furna da Onça. O nome de Fábricio Queiroz, ex-assessor de Flávio, preso desde 18 de junho, tampouco foi mencionado.

Apesar do discurso de sintonia e cooperação, assessores do clã Bolsonaro afirmam que o presidente da República não deve verbalizar o apoio a nenhum candidato a prefeito. Por isso, Crivella tenta associar a sua imagem à de Flávio Bolsonaro, na expectativa de atrair votos de entusiastas do bolsonarismo, tal como Wilson Witzel (PSC) conseguiu nas últimas eleições.

Durante boa parte do tempo, o prefeito atacou veículos de imprensa em linha com Jair Bolsonaro. "Existem adoradores do caos. Veículos que não estão nem aí para as coisas certas. Nós respondemos à perseguição de parte da imprensa com muito trabalho. Agradeço ao senhor e ao seu seu pai, que me ajudou a viabilizar voos vindos da China trazendo centenas de respiradores e monitores. Nosso povo é muito grato ao governo federal", afirmou.

Baixa audiência marca a transmissão

Depois de debaterem sobre as políticas de combate à covid-19 e mencionarem o "sucesso no enfrentamento à doença" —apesar das 7.733 mortes na capital fluminense informadas ontem pela Secretaria Estadual de Saúde—, os dois políticos aram a responder a perguntas selecionadas pela equipe do prefeito.

Embora Crivella tenha divulgado o encontro em suas redes sociais ao longo da semana, a audiência no Youtube não ultraou 200 espectadores, chegando a ter menos de cem em alguns momentos. O encontro também foi transmitido pelo Facebook e Instagram do prefeito.

Mais uma vez, os temas escolhidos serviram para que os dois enaltecessem os seus mandatos e o diálogo entre eles. A Crivella, por exemplo, foi perguntado "como o presidente Bolsonaro ajuda o Rio de Janeiro na prática" e se "não era cedo para fechar os hospitais de campanha".

O prefeito afirmou que Bolsonaro ajudou ao cooperar na renegociação de dívidas do município com a União. Para Crivella, "o pior momento da pandemia já ou".

A Flávio, foi perguntado "o que ele faz pelo Rio de Janeiro em seu mandato". O senador citou emendas e diálogo com a prefeitura, sem mencionar o governador Witzel, desafeto dos Bolsonaro.

Ao final da gravação, a filha mais nova de Flávio Bolsonaro apareceu em frente à câmera. Crivella aproveitou a oportunidade para mostrar intimidade com Jair Bolsonaro. "Quem é essa princesa?", questionou. "Essa é a minha 02", respondeu Flávio.

"Eu quero saber se ela se lembra do vovô, com a distância dessa pandemia", brincou. Ao final, o prefeito afirmou que "agradecia devotadamente ao Flávio e ao [Jair] Bolsonaro, grande líder que esse país precisa".