;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Carla Araújo

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.

Governo busca saídas para agradar caminhoneiros após Petrobras subir diesel

8.set.2021 - Paralisação de caminhoneiros em Lages (SC), em protesto contra o preço da gasolina e do diesel - Fom Conradi/iShoot/Estadão Conteúdo
8.set.2021 - Paralisação de caminhoneiros em Lages (SC), em protesto contra o preço da gasolina e do diesel Imagem: Fom Conradi/iShoot/Estadão Conteúdo

Do UOL, em Brasília

10/05/2022 16h41

Receba os novos posts desta coluna no seu e-mail

Email inválido

O novo aumento do diesel, anunciado ontem (9) pela Petrobras, ampliou ainda mais a pressão sobre o governo do presidente Jair Bolsonaro (PL), que já vem sofrendo há alguns meses com a inflação alta e seguidos reajustes nos combustíveis.

Em plena campanha pela reeleição, Bolsonaro tem pedido aos ministros que eles encontrem alternativas capazes de amenizar os danos eleitorais e, mais, que atendam a uma categoria importante para o presidente: os caminhoneiros.

A principal demanda da categoria seria uma mudança na política de preços da Petrobras, o que o governo não tem disposição de fazer no momento, por conta das consequências econômicas de uma eventual intervenção na estatal.

O ministro da Casa Civil, Ciro Nogueira (PP-PI), que é um dos responsáveis pela campanha de Bolsonaro, ite nos bastidores que há dificuldades em atender aos pleitos dos motoristas, mas tem pedido que colegas da Esplanada busquem alternativas.

Correção da tabela do frete

Em recente reunião de Ciro com o ministro de Minas e Energia, Bento Albuquerque, uma das medidas analisadas foi a de ampliar a correção da tabela de frete. Apesar disso, Bento afirma ainda se trata apenas de "uma das possibilidades".

Segundo o ministro, não há previsão de quando essas medidas poderão sair do papel, pois elas ainda estão em fase preliminar de avaliação. Há, por parte de integrantes do governo, receio de que alguma 'bondade' aos caminhoneiros possa ferir a legislação eleitoral.

"As medidas são analisadas tanto no aspecto técnico quanto jurídico, considerando a necessidade de serem implementadas quando julgadas oportunas/necessárias", disse Bento Albuquerque à coluna.

Guedes continua contra subsídios

O ministro da Economia, Paulo Guedes, também tem sido consultado para apresentar soluções, mas tem evitado ressuscitar antigas brigas com a chamada ala política.

Guedes tem falado pouco sobre o assunto, mas segue com o entendimento que uma solução não ará pela concessão de subsídios.