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

Anitta dá dica a Jade, Maisa e GKay após críticas: 'Só fala fo**-se'

Anitta - Reprodução/Instagram
Anitta Imagem: Reprodução/Instagram

De Splash, em São Paulo

24/06/2022 08h15Atualizada em 24/06/2022 08h24

Anitta fez um apanhado geral do que aconteceu na última semana e comentou as polêmicas envolvendo Jade Picon, Maisa e GKay.

"Que merd*, hein. Que merd* virou tudo isso", iniciou a cantora. "A pessoa que não pode fazer tatuagem porque Deus não vai gostar, aí a outra pessoa quer ser atriz, mas não pode ser, já não sei mais porquê, aí a pessoa que já é apresentadora desde que nasceu, nasceu em programa de TV, não é boa. Gente, é todo mundo falando mal de todo mundo", disse Anitta.

A artista se refere às situações envolvendo Priscilla Alcântara, criticada por ser cristã e ter tatuagens; Jade Picon, criticada por iniciar a carreira de atriz e Maisa, que foi criticada pela apresentadora Sônia Abrão.

"Vocês não estão sendo felizes, não? Ninguém tá vivendo a vida? A minha amiga botar a boca do tamanho da cara dela se ela quiser, também não pode, mesmo se ela estiver gostando", continuou Anitta, agora se referindo a Gkay, criticada por mudanças na aparência.

"Nada pode. Tá tudo chato, todo mundo tem uma opinião, tudo o povo quer reclamar. Tem que arrumar alguma coisa para fazer, hein gente? Vamos arrumar alguma coisa para fazer. Como dizia Mr Catra: 'deixa os outros, gente'".

Anitta disse que se considera "a pessoa que lançou o cancelamento no Brasil" e deu uma dica às colegas que sofrem com as críticas na internet.

Só fala 'fo**-se'. Para mim todo mundo ou me ama ou não me acompanha. Falou mal de mim? É porque me ama, me acompanha, e quer falar alguma coisa. Falou bem também? Me ama também. Ai que legal. Essa é a única forma de sobreviver a internet sem ficar doido, porque as pessoas tão doidas, tá? Elas só saem falando, não sabem do que tão falando, mas vão falando e que se dane se você vai ficar bem ou mal.

Ela faz uma ressalva de que o lema não se aplica ao presidente Jair Bolsonaro (PL). "Aí já implica diretamente na ida de todos nós. Reclamar do governo não é a mesma coisa, já está em outro enquadramento".

Em seguida, a cantora deixou claro a quem se referia. "Jade, quer ser atriz? Arrasa, arrasa você, quem te convidou e quem tá junto. Maisa, vai bombar no Video Show. Arrasa, dá seu nome [...] GKay quer fazer plástica? Vai!"

Questionada por seu maquiador sobre como fazia para ser tão segura, Anitta disse que precisou criar esse escudo após sofrer com os comentários de ódio.

"Eu não era assim, mas eu sofri tanto cancelamento. Viralizou um vídeo meu de uma situação que eu queria me matar de tanto cancelamento que eu sofri, eu queria morrer. Reviveram o vídeo [recentemente] e falaram 'à frente do seu tempo, tem que fazer isso mesmo'. E eu só pensei: 'ah, entendi. Naquela época eu quase morri de tristeza", contou.

Aprendi o seguinte: a gente tem que estar feliz com a gente, eu tenho várias inseguranças, mas na hora que eu quero exercer meu papel, eu quero ser feliz, aproveitar. Se a gente escutar o que os outros estão falando, a gente não vai ser feliz. Anitta

"Então eu só foco em mim, aproveitar aquele momento, oportunidade, e arrasar. E é isso que eu acho que todo mundo tem que fazer, porque a internet é coisa de louco. Então eu adotei essa realidade", finalizou a artista.