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

Tom Cruise está 'extremamante interessado' em namorar Shakira, diz site

Tom Cruise teria chegado a enviar flores para impressionar Shakira - Reprodução/Instagram
Tom Cruise teria chegado a enviar flores para impressionar Shakira Imagem: Reprodução/Instagram

Colaboração para Splash, no Rio de Janeiro

10/05/2023 08h01

Depois que Shakira, 46 e Tom Cruise, 60, teriam sido vistos saindo juntos no Grande Prêmio de Fórmula 1, em Miami, nos EUA, no fim de semana ado, o possível casal tem chamado atenção da mídia. Para aumentar o rumor de um relacionamento, uma fonte próxima do ator disse que ele está "extremamente interessado" em namorar a cantora.

De acordo com a fonte próxima ao ator ao site Page Six, o astro de "Missão Impossível" estaria apostando todas as fichas em um relacionamento com a cantora colombiana. "Ele está extremamente interessado em correr atrás dela", disse.

A fonte ainda afirmou que "existe química" entre os dois. "Shakira precisa de um 'travesseiro macio' para cair, e esse pode ser o Tom", destacou a fonte, que ainda acrescentou que o ator é "um cara bonito e talentoso". Além disso, a fonte também brincou: "E ela não é mais alta que ele", completou.

Encontro em evento de Fórmula 1. No domingo (7), a estrela de "Top Gun: Maverick" e a cantora aram um tempo juntos no grid de largada da corrida e foram vistos conversando em uma suíte privada. Depois, os dois teriam sido vistos deixando o local juntos.

O ator teria chegado a entregar flores para a cantora. Após terem sido fotografados no prêmio de Fórmula 1, Cruise teria tentado chamar atenção da cantora, que agora mora em Miami com os filhos, enviando flores para ela.

Separação de Piqué: Os boatos de um novo romance acontecem após 11 meses desde o anúncio da separação de Shakira e Piqué, 36, apontado por trair a cantora com agora namorada, Clara Chia Marti. Shakira and Piqué ficaram juntos por quase 12 anos e são pais de Milan, 10, e Sasha, 8.

Relacionamento do astro de cinema: Já Cruise foi casado três vezes, com Mimi Rogers, Nicole Kidman, com quem tem dois filhos, Isabella, 30, e Connor, 28 e, por último, o astro foi casado com Katie Holmes, e o relacionamento gerou fruto: Suri, 17.