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

Em repouso, Chrissy Teigen diz que sua terceira gravidez é 'mais difícil'

Chrissy Teigen espera seu 3º filho com o cantor John Legend; recomendação é para que ela fique de repouso na cama - Reprodução/Instagram
Chrissy Teigen espera seu 3º filho com o cantor John Legend; recomendação é para que ela fique de repouso na cama Imagem: Reprodução/Instagram

De Universa, em São Paulo

16/09/2020 10h12Atualizada em 16/09/2020 10h50

Chrissy Teigen, 34, contou ontem aos seguidores que a sua terceira gestação está sendo mais complicada se comparada à gravidez de Luna, de 4 anos, e Miles, de 2.

Pelo Instagram, ela disse que está com alguns "problemas" após não seguir a recomendação médica de ficar totalmente em repouso na cama. "É uma gravidez um pouco difícil. Mas me sinto bem. Devo dizer que provavelmente estou sendo punida por falar tanto sobre como as duas primeiras foram ótimas. Agora eu entendo qualquer um que pense que [a gestação] não é assim tão incrível", disse.

Chrissy deveria estar em repouso completo há, pelo menos, duas semanas, devido à sua terceira gestação. Ela é casada com o cantor John Legend.

Na terça-feira da semana ada (8), a modelo e apresentadora escreveu no Twitter que estava em repouso, mas fazendo algumas atividades. "Estou em repouso oficial de 2 semanas. Estou aproveitando para aprender a costurar capas e roupas de criança, então a m... está prestes a ficar incrivelmente feia", escreveu, em tom bem humorado.

Ontem, no entanto, ela disse que deveria ter ficado sem fazer nada. "Eu realmente não sabia que o repouso na cama era, tipo, na cama. Pensei que repouso era que você tinha que realmente relaxar, ficar em casa. Eu pensei que poderia ser um repouso no sofá", disse. "Agora estou com problemas, então preciso descansar na cama. Estou apenas tentando ser o mais saudável possível", completou.

A modelo afirmou que agora vai seguir a recomendação e que, se desistir de fazer alguma atividade, é pensando em sua saúde e na do bebê — Chrissy mostra a rotina da família através das suas redes sociais.

Criação de Luna e Miles

Chrissy deu entrevista para a revista Marie Claire contando como ela e Legend tentam educar os filhos sobre temas como racismo e privilégios ao mesmo tempo. "Nós apenas tentamos falar com eles como pequenos adultos, dizendo em palavras que eles entendam, deixando claro que é muito sério, e deixando que eles façam quantas perguntas precisarem", disse ela.

Durante a pandemia do novo coronavírus, a modelo e escritora preparou um ambiente escolar gigantesco para ensinar os filhos. Teigen decorou o local com uma parede de livros, mesas e cadeiras adaptadas para as crianças, brinquedos para os momentos de descontração e até um armário para pendurar a mochila e guardar os materiais.