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

Felipe Neto expõe perseguição por críticas a Bolsonaro: 'Derrubar meu nome'

Felipe Neto e Jair Bolsonaro - Reprodução/Instagram
Felipe Neto e Jair Bolsonaro Imagem: Reprodução/Instagram

Colaboração para Splash, em Maceió

29/04/2022 22h55

O influenciador digital Felipe Neto, de 34 anos, revelou que ou dois anos sem conseguir fechar contratos de publicidade com empresas que operam no Brasil, e apontou perseguição política devido ao fato de ele ser um crítico ferrenho do presidente Jair Bolsonaro (PL) nas redes sociais.

Em seu perfil no Twitter, o youtuber celebrou por ter conseguido fechar um contrato publicitário com uma marca atuante em solo brasileiro, após meses em que, à exceção de uma campanha nacional durante o período de Black Friday, ele precisou trabalhar com empresas estrangeiras.

"Hoje foi ao ar no meu TikTok a primeira publi que fechei com uma empresa que opera no Brasil em dois anos. Foram dois anos com todas as empresas com sede no Brasil recusando meu nome por motivos que vocês sabem bem", iniciou.

"Ao longo desses dois anos, ouvimos todo tipo de desculpa por parte das agências e das próprias empresas. As campanhas eram negociadas, às vezes chegavam a ser fechadas, mas 'alguém' mandava derrubar meu nome. Foram inúmeras vezes. Não fiquei sem campanhas e publis nesse período. Empresas gringas me deram muito valor nesses dois anos, foram inúmeras campanhas fechadas, mas quando era empresa no Brasil, sempre cancelavam. Estou muito feliz que esse ciclo está se encerrando", escreveu.

Por fim, Felipe Neto ponderou que, na época dos governos dos ex-presidentes Luiz Inácio Lula da Silva e Dilma Rousseff, ambos do PT, ele não sofreu perseguição.

"Vale ressaltar que nunca perdi uma publi na vida quando vivia xingando Lula e Dilma. Nem fui perseguido. Polícia não veio na minha casa. Não fui acusado de pedofilia. Não fui indiciado por corrupção de menores. Nunca aconteceu nada. Mas eles juram que são 'pela liberdade de expressão'", completou.