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

OPINIÃO

Calejon: Marca de Lula aos 100 dias é ser antítese perfeita de Bolsonaro

Colaboração para o UOL, em São Paulo

10/04/2023 08h42

Ao analisar os cem primeiros dias do governo Lula (PT), o jornalista Cesar Calejon fez um balanço positivo e destacou a evolução em relação à gestão de Jair Bolsonaro (PL).

A marca do governo Lula está clara: ser a antítese perfeita do governo Bolsonaro. Ninguém discorda que, na seara social, o governo fez um ótimo trabalho, com uma série de medidas que retomam toda uma agenda que caracteriza a gestão de Lula. As críticas que incidem sobre a seara econômica são mais complicadas porque exigem uma série de coisas que circunscrevem o governo a coisas que transcendem a sua própria vontade e articulação política. Cesar Calejon, jornalista

Para Calejon, em participação no UOL News desta segunda, as críticas de que não há uma marca clara nos cem primeiros dias do governo comprovam que Lula, de forma geral, não cometeu grandes falhas até aqui, já que elas seriam apontadas com mais veemência. O jornalista também fez ressalvas quanto à atuação na área econômica e alguns ajustes necessários na área de comunicação dentro do governo.

Isso dá conta de que o governo atendeu às expectativas pleiteadas antes de sua própria eleição. Se não, seguramente se materializariam críticas mais pontuais. O governo vem acertando em uma série de medidas. Começa bem e certamente há coisas a melhorar, sobretudo na comunicação do governo, mas é um ótimo começo e tem tudo para seguir com bastante força. Cesar Calejon, jornalista

Governo Lula chega aos 100 dias: Conjuntura sonegou ao presidente a fase de 'lua de mel', diz Josias

Na avaliação de Josias de Souza, o governo Lula mostrou avanços na área social, mas patinou na economia. O colunista ressaltou que a complicada relação entre o presidente e o centrão pode significar problemas futuros e reservar escândalos.

Em cem dias, o Lula ajudou a vestir uma camisa de força no golpismo, retirou a Esplanada dos Ministérios do sanatório, estabilizou as relações do Executivo com os outros poderes e restaurou políticas sociais que o Bolsonaro havia aviltado. Há uma lei não escrita que dá aos novos governos o direito a cem dias de tolerância. A conjuntura sonegou ao Lula essa fase de lua de mel. O consolo do Lula é que, na oposição, não se produziu nada melhor do que o governo foi capaz de entregar. Josias de Souza, colunista do UOL

Josias: Tarcisio se distanciou, mas ainda tem pé na canoa do bolsonarismo

Josias de Souza fez uma análise positiva dos primeiros cem dias de Tarcisio de Freitas (Republicanos) à frente do governo do estado de São Paulo. O colunista ressaltou que Tarcisio até conseguiu se distanciar de Jair Bolsonaro, mas ainda precisa descolar completamente sua imagem à do ex-presidente caso queira decolar em sua carreira política.

Tarcisio teve uma largada bastante razoável, agiu bem nas vicissitudes e tem visão realista do processo istrativo. Ele sabe que não pode prescindir do governo federal e estabeleceu com o governo Lula um relacionamento que privilegia o interesse do contribuinte de São Paulo. Ele se posicionou adequadamente quanto a isso. Josias de Souza, colunista do UOL

O UOL News vai ao ar de segunda a sexta-feira em três edições: às 8h, às 12h e às 18h. O programa é sempre ao vivo.

Quando: de segunda a sexta, às 8h, às 12h e 18h.

Onde assistir: Ao vivo na home UOL, UOL no YouTube e Facebook do UOL.

Veja a íntegra do programa: