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

Roberto Jefferson critica STF e ministros após bloqueio no Twitter

Roberto Jefferson - Reprodução
Roberto Jefferson Imagem: Reprodução

Do UOL, em São Paulo

24/07/2020 15h58

Depois de ter seu perfil oficial no Twitter bloqueado hoje, o ex-deputado federal Roberto Jefferson criticou os ministros Alexandre de Moraes, Edson Fachin e Luís Roberto Barroso, além da atuação do STF (Supremo Tribunal Federal).

"Infelizmente é a pior corte do Supremo que se tem notícia. Ela é tão ruim que 'chutou' o Art. 5º da Constituição: 'Todos são iguais perante a lei'. Não há ninguém aqui que não esteja assinando o que diz. Nós estamos sendo obrigados a ter licença do Supremo, estamos sendo censurados pelo Supremo, contra a Constituição", afirmou Jefferson em entrevista à CNN.

"Nós temos nossa vida e nossa honra a todo momento expostas na sociedade. Porque o ministro Fachin, o Barroso e Alexandre de Moraes mandam o camburão para nossas casas. É uma violação a sua vida privada, a sua honra, não entendo", acrescentou.

Aliado de Jair Bolsonaro (sem partido), o ex-deputado é um dos alvos das investigações sobre a disseminação de fake news.

O bloqueio das contas de Roberto Jefferson e outros aliados do presidente faz parte do inquérito das fake news, que investiga a disseminação de notícias falsas e ataques a ministros. Moraes é o relator.

O ex-deputado ainda reforçou que não faz ameaças por meio de suas redes sociais e que também não divulga "fake news".

"Toda a minha mídia é assinada por mim, tudo o que está ali, gostem eles ou não, eu assino, não é fake news, é verdade. Nós damos dimensão no Twitter", disse.

"Eu escrevo da minha cabeça, eu não tenho vinculação com nenhuma conta, a não ser comigo mesmo. Ninguém me paga para fazer nada. Abuso de autoridade é comum aos 11 ministros do Supremo, eles formaram essa prática criminosa, e o chefe é o ministro Alexandre de Moraes", completou.

Ao final da entrevista, Roberto Jefferson afirmou que criaria um perfil na rede social Parler, que tem atraído apoiadores de Jair Bolsonaro, para continuar criticando os ministros e o STF.