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

Pabllo Vittar detalha parceria com Anitta em álbum: 'Amizade bem gostosa'

Siga o UOL no

De Splash, no Rio

28/01/2023 16h35Atualizada em 28/01/2023 20h00

Pabllo Vittar, 29, se prepara para lançar o quinto álbum da carreira em fevereiro, o "Noitada". Em conversa com Splash, a artista confirmou que o disco trará uma parceria inédita com Anitta.

As duas gravaram o hit "Sua Cara" juntas, música pop que marcou o ano de 2017. Mas a produção do clipe teria motivado uma treta entre elas, o que desencadeou troca de farpas entre os fã-clubes desde então. Hoje, o assunto é página virada.

"De antemão, quero dizer que a música com Anitta nesse álbum é um anti 'Sua Cara', a gente não quer fazer nada que se compare a 'Sua Cara', até porque foi um marco, não tem como chegar ali perto de novo", disse.

A gente está fazendo uma coisa que se remete ao nosso tempo atual, que é divertido, noturno e bem gostosinho. Uma amizade bem gostosa, né, Ani?

Pabllo ainda detalhou que "Noitada" é um disco mais ousado. "Letras diferentes do que eu canto, tem novos produtores e pessoas que me acompanham há algum tempo. Estou ansiosa e muito feliz", afirmou.

A artista conversou com Splash nos bastidores do Universo Spanta, no Rio de Janeiro, antes do show realizado na madrugada de hoje. O festival foi adiado por dois anos consecutivos devido ao avanço da pandemia da covid-19.

"Estava muito ansiosa para vir aqui há dois anos. Dois anos de promessa. O festival promessas acabou, vai ter show da mamãezinha".

Pabllo Vittar durante show no festival Universo Spanta 2023 - Reginaldo Pimenta - Reginaldo Pimenta
Pabllo Vittar durante show no festival Universo Spanta 2023
Imagem: Reginaldo Pimenta

Pabllo no show do RBD?

A artista já falou, em diferentes entrevistas, que é fã do grupo RBD — que anunciou shows no Brasil para novembro. Splash perguntou se ela já imaginou subir ao palco com os mexicanos.

"Eu ia chorar muito, ia suar muito. Se visse a Anahi ao vivo, eu nem sei... Não tenho nem roupa para esse evento. Já fui convocada pela Urias para ir ao show do RBD".

Mas nada de perrengue para comprar ingressos, diz ela, aos risos: "Eu só ligo para a Live Nation e tudo certo".

Carnaval 2023

Agenda da drag queen está cheia para o Carnaval deste ano. Ela vai ar por Salvador (BA), São Paulo, Rio de Janeiro, Belo Horizonte (MG), Aracati (CE) e Recife (PE), no tradicional Galo da Madrugada.

Amo Carnaval, estava morrendo de saudade durante essa pandemia que fez a gente ficar trancado em casa. Estou chegando com tudo em Carnaval com o meu bloco e vou participar de trios de amigos também.

No papo com Splash, relembrou sua folia mais marcante "Quando eu subi no trio de Anitta para cantar Todo Dia em 2017. Foi incrível, um calor do caral** e eu com uma roupa preta, não sei o que me deu aquele dia, mas eu descobri que o Rio de Janeiro é quente", disse, aos risos.