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

Favela e 'fora Bolsonaro': as referências de Anitta ao Brasil no Coachella

Anitta foi atração do palco principal do Coachella, festival dos EUA - Reprodução / Instagram @coachella
Anitta foi atração do palco principal do Coachella, festival dos EUA Imagem: Reprodução / Instagram @coachella

Filipe Pavão

De Splash, no Rio

16/04/2022 16h30

Anitta se apresentou no Coachella, principal festival pop dos Estados Unidos, ontem e levou "um gostinho do Rio para o palco" do festival, segundo a imprensa internacional. Natural de Honório Gurgel, na Zona Norte do Rio, a cantora apresentou diversas referências a sua cidade e país natal.

De paredão da Furacão 2000 às fantasias dos bate-bolas. Quais foram as referências ao Brasil mostradas no show de Anitta?

Logo na abertura, o show trouxe a música "Mas Que Nada", de Jorge Ben Jor, sucesso na voz de Elza Soares, e Anitta vestiu roupa nas cores da bandeira do Brasil. Após o show, ela usou o Twitter para afirmar que as cores azul, verde e amarelo representam o povo brasileiro.

Ela entrou no palco montada na garupa de uma moto, fazendo alusão ao mototáxi, meio de locomoção utilizado em muitas favelas cariocas. O cenário de Anitta, inclusive, remetia às favelas e morros do Rio. Ao cantar "Onda Diferente" com o rapper Snoop Dogg, ainda mostrou um item comum nos bares: a mesa de sinuca.

Depois, Anitta saiu do Rio e desembarcou em Salvador para mostrar o pagodão baiano com "Me Gusta" (música cantada originalmente com Cardi B e Myke Towers). A brasileira chegou a dar uma palhinha na batucada na introdução da música.

Com "Faking Love", que teve a participação da rapper Saweetie no palco, Anitta apresentou o funk melody, um subgênero do freestyle, surgido no início dos anos 1990 com letras românticas e sem apelo sexual. Fez sucesso na cidade do Rio.

Antes de cantar e coreografar "Envolver", música que levou a carioca ao topo do Spotify global, os dançarinos de Anitta fizeram os de capoeira, expressão cultural desenvolvida por descendentes de escravos africanos no Brasil, ao som de trechos das músicas "The Rhythm of the Night", de Corona, e "Magalenha", de Sérgio Mendes. "Combatchy", de Anitta, Lexa, Luísa Sonza e MC Rebecca, também foi adicionada na sequência.

Outro gênero musical lembrado por Anitta foi a bossa nova. Ela cantou parte de "Garota de Ipanema", de Antonio Carlos Jobim, Norman Gimbel e Vinicius De Moraes, que foi usada como sample para "Girl From Rio", faixa do novo CD, "Versions of Me".

Mas as principais referências ficaram para os momentos finais da apresentação. Com a presença de Diplo no palco, Anitta fez um baile funk para ninguém colocar defeito e com direito ao paredão da Furacão 2000, gravadora carioca que produzia coletâneas e shows de funk carioca. Foi o primeiro contrato da artista que se apresentava como MC Anitta em 2010.

A cantora e os dançarinos fizeram diversos inhos do funk, incluindo o quadradinho durante "Movimento da Sanfoninha", quando Anitta balança a bunda no ritmo da canção. "Vai Malandra", "Rave de Favela" e "Bola Rebola" fizeram parte dessa etapa do show.

A apresentação da cantora ainda apresentou inhos que remetem ao Baile Charme, evento realizado debaixo do Viaduto de Madureira, e trouxe dançarinos fantasiados de bate-bola, tradição dos subúrbios cariocas durante o Carnaval.

Política

Além de cenários e letras, a política também foi pauta do show de Anitta.

Para sua apresentação no palco principal de um dos maiores festivais do mundo, a cantora montou um look com top, shorts e bota de couro mesclando as cores verde, amarelo e azul, como protesto contra o uso da bandeira do país para fins políticos.

A bandeira do Brasil e as cores da bandeira do Brasil pertencem aos BRASILEIROS. Representam o BRASIL em GERAL. NINGUÉM pode se apropriar do significado das cores da bandeira do nosso país. Fim!
Anitta

Durante a apresentação do balé da cantora no palco do Coachella, foi possível ouvir pedidos de "Fora, Bolsonaro" dos dançarinos.

Arielle Macedo, bailarina e coreógrafa da cantora, se manifestou debochando que os gritos deram motivação para o show.