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

Chico Alves

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Com foto de sunga, Lula dribla polarização e aumenta engajamento nas redes

23.ago.2021 - Lula e Janja posam para foto de Ricardo Stuckert, no Ceará - Reprodução / Twitter
23.ago.2021 - Lula e Janja posam para foto de Ricardo Stuckert, no Ceará Imagem: Reprodução / Twitter

Colunista do UOL

24/08/2021 14h04

A inusitada foto em que o ex-presidente Luiz Inácio Lula da Silva aparece de sunga abraçado à companheira, Rosângela da Silva, a Janja, fez com que o petista se tornasse tema de debate em grupos alheios à polarização política. A constatação é de Pedro Barciela, analista das redes sociais.

Segundo ele, bolsonaristas, simpatizantes da Lava Jato e apoiadores de Ciro Gomes representam pouco mais de 34% dos usuários que citaram esse assunto. Os lulistas são 24,7% dos que participaram do "debate". "Boa parte dos usuários abordaram o tema apenas pelo viés do humor, são pessoas não ligadas à política", afirma Barciela.

Para além dos dotes físicos do ex-presidente, o analista diz acreditar que essa movimentação possa representar boa notícia para Lula e, consequentemente, incômodo para os bolsonaristas e defensores da terceira via.

"Ele engajou uma série de clusters [grupos] para além da política sem nem mesmo ter se manifestado. E tudo isso com humor, sem atacar ninguém", explica Barciela. "É o único ator político nas redes que recorrentemente tem ultraado a polarização política."

O analista afirma que o petista aborda assuntos leves com naturalidade. "Quando trata de futebol, é capaz de dar escalações, discutir tática do time, não é como Bolsonaro que veste as camisas de vários clubes mas parece não se interessar pelo esporte", avalia.

Esse "talento" de Lula será especialmente valioso na eleição de 2022, a primeira que disputará com os novos recursos da internet. "Ele parece ter capacidade de explorar os memes de uma forma que os últimos presidentes não tiveram", diz Barciela.

Na opinião do analista, outros atores políticos parecem preocupados com as dificuldades que se aproximam. "Afinal, eles enfrentarão um adversário que aparentemente sequer precisa se manifestar para pautar o debate. Basta uma sunga", escreveu, em sua análise.