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

Shakira fala pela 1ª vez sobre separação de Piqué: 'Incrivelmente difícil'

Shakira fala pela 1ª vez sobre separação de Piqué - Mariana Pekin/UOL
Shakira fala pela 1ª vez sobre separação de Piqué Imagem: Mariana Pekin/UOL

Colaboração para Splash, em São Paulo

21/09/2022 11h52Atualizada em 21/09/2022 11h59

Os últimos meses têm sido muito complicados e emocionalmente demandantes na vida de Shakira. Além de lidar com problemas de saúde de seu pai e acusação de fraude fiscal, a artista se separou de Gerard Piqué, pai de seus dois filhos, Milan, de 9 anos, e Sasha, de 7, após boatos de traição vazarem na mídia. Em entrevista à revista Elle, ela falou pela primeira vez sobre o ocorrido.

"É muito difícil falar sobre isso. [...] Fiquei quieta e apenas tentei processar tudo. E é difícil falar sobre porque ainda estou enfrentando essa situação, é um divórcio público e não é como um regular".

Após entregar que tem sido "incrivelmente difícil" para ela e seus filhos, Shakira contou que paparazzis chegam a acampar ao lado de fora de sua casa em Barcelona, na Espanha, durante os sete dias da semana.

"Não há um lugar onde eu possa me esconder deles com meus filhos, exceto na minha própria casa. Não podemos dar um eio no parque como uma família normal; ou tomar um sorvete; ou fazer qualquer atividade sem que os paparazzi nos sigam. Então é difícil. Tentei esconder a situação na frente dos meus filhos. Tento fazer isso e protegê-los, porque essa é a minha missão número 1 na vida. Mas aí eles ouvem coisas na escola de seus amigos ou se deparam com alguma notícia desagradável. Isso só os afeta".

Para completar, Shakira contou que, às vezes, acredita se tratar de um pesadelo. "Mas não, é real. E o que também é real é a decepção de ver algo tão sagrado e tão especial - quanto eu achava que era a relação que tive com o pai dos meus filhos - se transformar em algo vulgarizado e barateado pela mídia."

Recentemente, Piqué foi visto abandonando uma reunião com advogados em que ele e Shakira definiriam a divisão de bens e a guarda das crianças.