;(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 indica que Damares é possível candidata ao Senado por SP

A ministra da Mulher, da Família e dos Direitos Humanos, Damares Alves, e o presidente Jair Bolsonaro (PL) - Cláudio Marques/Futura Press/Estadão Conteúdo
A ministra da Mulher, da Família e dos Direitos Humanos, Damares Alves, e o presidente Jair Bolsonaro (PL) Imagem: Cláudio Marques/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

19/01/2022 19h24

O presidente Jair Bolsonaro (PL) afirmou hoje que a ministra da Mulher, da Família e dos Direitos Humanos, Damares Alves, poderá ser candidata ao Senado pelo estado de São Paulo.. A revelação foi feita durante participação no programa "Os Pingos nos Is", da Jovem Pan.

"Posso adiantar uma possível senadora por São Paulo. A ministra Damares", disse, mas ressaltou: "não está batido o martelo não, conversei com a Damares e ela ainda não se decidiu".

A fala aconteceu após ser perguntado pelo ex-ministro do Meio Ambiente Ricardo Salles sobre o seu vice na disputa eleitoral de outubro. Bolsonaro se limitou a dizer que o nome é "do coração e da razão" e será anunciado "na hora certa".

"Anunciando agora é só complicação, confusão. E aqueles que por ventura acham que podem ser eles, graças a Deus temos um leque bastante grande de pessoas interessadas nesse serviço, nós não podemos queimar largada", disse.

Na última quinta-feira (13), Bolsonaro também afirmou que o ministro da Infraestrutura, Tarcísio de Freitas, aceitou ser pré-candidato ao governo de São Paulo. O anúncio foi feito durante a live semanal do presidente nas redes sociais, e ao lado do próprio Tarcísio. No dia seguinte, porém, a pasta disse que o ministro não se lançou pré-candidato, apesar das declarações de Bolsonaro.

Bolsonaro diz que 12 ministros devem deixar o governo em março

O presidente Jair Bolsonaro (PL) confirmou ontem que 12 de seus ministros devem deixar os cargos em março para disputar as eleições. A previsão inicial era de que oito deixassem as funções. A declaração do presidente foi feita em entrevista à "Sidy's TV", do Rio Grande do Norte.

"Cada ministro já fez um relatório do que foi feito nos últimos três anos. Nós vamos continuar trabalhando sem parar. No fim de março, nós devemos ter 12 ministros que vão concorrer a cargos eletivos pelo Brasil e já está praticamente acertado quem os substituirão. E continuarão mantendo o mesmo ritmo", disse.

Bolsonaro também previu que "o povo brasileiro não terá uma eleição difícil" e traçou uma comparação de seu governo com a de gestões realizadas pelo PT (Partido dos Trabalhadores), seu principal oponente nas eleições que serão realizadas em outubro.

Eu creio que não vai ser uma eleição difícil para o povo brasileiro. Vocês vão poder comparar praticamente quatro anos do meu governo com 14 do PT. Lá atrás, voltado por (sic) promessas, ilusões e um governo com muita corrupção e sem perspectiva de futuro. E o nosso, a gente mostra, né? Nós temos mostrado o que tem sido feito ao longo desse tempo todo. Então não acho que vai ser difícil a população escolher em outubro quem ela quer para comandar o nosso país a partir de 2023.
Presidente Jair Bolsonaro