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

Paparazzi

Shakira responde se música nova 'Te Felicito' tem alguma relação com Piqué

Pique e Shakira começaram a se relacionar depois da Copa do Mundo de 2010 - Europa Press/Getty
Pique e Shakira começaram a se relacionar depois da Copa do Mundo de 2010 Imagem: Europa Press/Getty

Colaboração para o UOL, em São Paulo (SP)

27/06/2022 09h47

Cerca de três semanas após Shakira e Piqué terem anunciado o fim do relacionamento entre eles, a cantora falou sobre o processo de criação de sua nova canção 'Te Felicito'. A faixa mais recente da colombiana traz em sua letra o caso de uma descoberta de traição, o que gerou especulações por conta da semelhança com a situação entre ela e o zagueiro do Barcelona.

Em entrevista ao programa 'The Tonight Show', de Jimmy Fallon, Shakira contou que foram seus filhos com Piqué, Milán e Sasha, os principais responsáveis pelo videoclipe da canção. "Para fazer o vídeo, disse aos meus filhos para fecharem os olhos enquanto ouviam a música e dizer o que vinha à mente deles enquanto ouviam", explicou.

"Surgiram duas ideias principais, a primeira para dançar com um robô e a segunda para ter uma chama verde", completou. A cantora ainda disse que todo o processo de elaboração do vídeo durou três meses e que, após a sugestão dos filhos, ela reou as ideias para o diretor, que ficou satisfeito com o conceito.

Entenda o caso

No início de junho, o jornal espanhol 'El Periódico' revelou que Shakira queria se separar de Piqué. O motivo uma suposta infidelidade cometida pelo jogador e flagrada pela colombiana.

A nova música 'Te Felicito', lançada no final de abril, seria uma marca do fim do relacionamento entre eles que durou mais de onze anos. Os dois se conheceram na Copa do Mundo de 2010, após o sucesso da música 'Waka Waka'.

Além disso, o antigo casal teve em 'Me Enamoré', de 2017, uma espécie de "renovação" dos votos. Embora estivessem juntos há mais de uma década, Piqué e Shakira nunca se casaram oficialmente.

De acordo com o jornal espanhol, ambos estavam distantes recentemente. Após a revelação do caso, fãs apontaram que a letra da última canção de Shakira podia ser uma indireta ao jogador.

A música, em parceria com Rauw Alejandro, traz versos fortes sobre o fim de um relacionamento. "Foi a gota que transbordou o vidro. Não me diga que está arrependido, isso parece sincero, mas eu te conheço bem e sei que você mente. Eu parabenizo você, quão bem você atua", disparam versos da faixa.

'Te Felicito' já conta com mais de 175 milhões de reproduções no clipe oficial, publicado por Shakira no Instagram

Paparazzi