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

Esposa de Militão desabafa nas redes: 'Às vezes dá vontade de sumir'

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

19/06/2022 17h19

Karoline Lima, influenciadora e esposa do zagueiro Éder Militão, do Real Madrid, usou as redes sociais hoje (18) para desabafar com seus mais de dois milhões de seguidores. Karoline está em reta final de gravidez, na Espanha, enquanto o jogador está em Miami para um amistoso de estrelas de futebol.

"O até breve é porque, enfim, sei lá, às vezes dá vontade de sumir, mas acho injusto com vocês porque vocês são tão legais comigo. Estou recebendo tanto amor de vocês, afeto, mas sei que vocês me entendem. Pela voz, olhar, jeito de falar, tem horas que eu tento até disfarçar, mas vocês... nunca vi isso. Mas eu só quero ficar em paz, colocar minha cabeça no lugar e pensar na Ceci. Primeiro lugar é ela.", disse Karoline.

Karoline Lima, companheira do zagueiro Éder Militão, mostra barriga de grávida. - Reprodução/Instagram - Reprodução/Instagram
Karoline Lima, companheira do zagueiro Éder Militão, mostra barriga de grávida.
Imagem: Reprodução/Instagram

Ontem a influenciadora alfinetou seu marido, também pelos stories do Instagram, demonstrando certa insatisfação por ele estar "nas melhores baladas de Miami". Na mesma sequência, Karoline relatou dores e desconforto por conta da gravidez, mas disse que tudo está bem com Cecília, a bebê, que já está na posição correta para nascer.

Após a conquista da Liga dos Campeões em cima do Liverpool nesta temporada, os jogadores do Real Madrid foram liberados pelo clube para aproveitarem as férias até os treinos de pré-temporada, que vão começar mais cedo por conta da Copa do Mundo em dezembro.

Militão foi a Miami para participar do "The Beautiful Game", um jogo de exibição que reuniu amigos de Ronaldinho Gaúcho e amigos de Roberto Carlos.

Karoline Lima celebra título do Real Madrid ao lado de Militão - Reprodução/Instagram - Reprodução/Instagram
Karoline Lima celebra título do Real Madrid ao lado de Militão
Imagem: Reprodução/Instagram

Paparazzi