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

Karoline sai produzida após término com Militão: 'Não ia dar esse gostinho'

Karoline aparece arrumada dentro de carro para ear por Madrid - Reprodução/Instagram
Karoline aparece arrumada dentro de carro para ear por Madrid Imagem: Reprodução/Instagram

Colaboração para Splash, no Rio de Janeiro

07/07/2022 17h53

A influenciadora digital Karoline Lima, de 26 anos, apareceu toda arrumada hoje, um dia após anunciar o término do relacionamento com o jogador do Real Madrid, Éder Militão, e brincou sobre a situação. Ela, que está na 38ª semana da gravidez, disse que "não ia dar esse gostinho" de verem ela feia.

Em Stories publicados no Instagram, a influenciadora digital apareceu produzida dentro de um carro preparada para ear por Madrid, na Espanha, onde mora. "Eu não ia dar esse gostinho, essa felicidade para elas e elas. Olha, como ela apareceu!", disse ela.

Ela, que está grávida de uma menina que se chamará Cecília, brincou com o fato da menina nascer hoje, isso porque ela está arrumada e seria um bom dia para bebê vir ao mundo. "Cecília, minha filha, se você quiser vir a hora é agora. A produção foi um babo", comentou Karoline.

Em seguida, a influenciadora disse que precisou se arrumar porque não consegue ficar desarrumada por muito tempo. "Eu não consigo ser feia em tempo integral. Eu tenho uma séria dificuldade em ser feia em tempo integral. Eu me olho e digo: 'Essa pessoa não sou eu'. Aí tenho que ficar bonita", afirmou.

Ela também contou que precisava dar esse eio para espairecer nessa reta final de gravidez. "Vou dar uma volta, ver gente, preciso respirar. Estou sufocada! Não consigo nem explicar em palavras", disse.

Término

A influenciadora confirmou ontem o fim do relacionamento com o jogador de futebol. "E aí gente! Então, tô ando aqui para tranquilizar vocês, dizer que tá tudo bem, que eu sou forte pra caramba, Cecília é mais forte ainda", introduziu ela nos Stories do Instagram por volta das 15 horas no horário de Brasília.

Ela então confirma que a relação chegou ao fim, mas diz que tentou se acertar com ele antes do desfecho.

"Realmente, gente. Para dar uma satisfação para vocês, depois que ele voltou de viagem eu procurei ele, tentei resolver as coisas, tentei me acertar, tentei continuar, mas chegou num ponto que eu vi que realmente não vai rolar como relacionamento amoroso e decidi terminar", afirmou.

"Acredito que foi a melhor decisão que no momento pede, então é isso. A gente sempre vai ter um elo que é a Cecília e a Cecília sempre vai ser prioridade na nossa vida e é o que importa", complementou.

Por fim, ela disse que estava bem e agradeceu as mensagens de carinho que estava recebendo.

"Eu tô bem, vou tá cada vez melhor e muito obrigada todo mundo pelas mensagens. Sou forte, vou dar conta. A Cecília é mais forte ainda. Vem aí", finalizou a influenciadora.