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

Iza ganha cuspida e ofensas em clipe político: 'Falar do que importa'

Iza ganha cuspida e xingamentos no clipe de "Fé" - Guilherme Nabhan
Iza ganha cuspida e xingamentos no clipe de "Fé" Imagem: Guilherme Nabhan

Daniel Palomares

De Splash, em São Paulo

03/06/2022 12h00

Iza gosta das coisas em seu tempo. Seu primeiro álbum, "Dona de Mim", foi lançado há 4 anos. Sua nova música, "Fé", com clipe lançado hoje, chega meses depois dos últimos trabalhos, "Brisa" e "Sem Filtro". Com os anos de carreira entregando experiência, ela não pretende agradar a ninguém além de si mesma.

No vídeo de "Fé", idealizado e dirigido por Iza e Felipe Sassi, a cantora quer mostrar a importância da persistência, mesmo diante de "filhos da p*" que querem te atrasar e te ar para trás. Ela é segurada, xingada e até mesmo ganha uma cuspida entre os takes, mas garante que a experiência foi divertida.

"Como poderia ilustrar que a mulher preta é a figura mais desrespeitada do mundo? Me pediram muitas desculpas depois de me xingarem. Tive que conversar com o dançarino que cuspiu, pedi para ele não beber água. Queria a textura da saliva, gosto de me entregar", conta em papo com Splash.

trhgtr - Guilherme Nabhan - Guilherme Nabhan
IZA lança clipe para "Fé": nova música quer inspirar brasileiros em ano difícil
Imagem: Guilherme Nabhan

Papel político

IZA espera que a mensagem da nova música sirva como inspiração para os brasileiros diante de um 2022 que promete ser desafiador, com os ânimos aflorados pelas eleições de outubro.

"É um ano tenso, complicado e violento. Não tem como não falar, é difícil fingir que nada está acontecendo", pontua a cantora, que viralizou recentemente em um vídeo em que aparece dançando com o público ao som de xingamentos ao presidente Jair Bolsonaro. IZA defende a necessidade de posicionamento dos artistas.

A arte comunica. É chique fazer parte da história e falar do que importa.

Dona de si

Quem vê 'close', não vê 'corre'. Iza relembra que uma crise financeira enfrentada entre 2016 e 2017 quase a fez desistir da carreira musical. "Minha mãe trabalhava em três escolas, vendia sanduíche para ganhar um extra. Me senti egoísta de não ajudar, queria topar qualquer trabalho, mas persisti."

Agora, com uma carreira já consolidada, ela entende que não precisa se encaixar ou atender a qualquer expectativa em prol de realizar o que realmente sonha.

kjk - Guilherme Nabhan - Guilherme Nabhan
IZA no clipe de "Fé"
Imagem: Guilherme Nabhan

"Não sou a pessoa que está sempre lançando música. Ou atendo as demandas dos outros ou crio uma forma de trabalhar que seja boa para mim", pondera. "É difícil condicionar seu sonho às expectativas alheias. A gente tem que falar o que quiser sem se preocupar com métricas e números. Não podemos permitir que o mercado nos limite", defende.

Eu sei que essa música tem palavrão, não sou doida. Nunca liguei a rádio e ouvi alguém dizendo 'filho da p*'.

Confirmada para o Rock in Rio Lisboa neste mês e para o Palco Mundo da edição brasileira em setembro, Iza vive um dia de cada vez e celebra cada conquista com calma. "Vai ser muito especial. Tenho tido mais coragem de falar e fazer o que quero fazer. Tem a ver com se sentir confortável na sua pele. Esse é o momento que estou vivendo", conclui.