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

Sem barriga, jovem descobre gravidez no parto: "Não achei que fosse real"

Da Universa

04/04/2019 13h02

Uma jovem de Glasgow, na Escócia, só descobriu que estava grávida no dia do nascimento do bebê. De acordo com o jornal inglês "Daily Mail", Emmalouise Leggate foi internada às pressas depois de acordar com a barriga superinchada e sentindo fortes dores.

Louise For, avó da adolescente, contou que correu com a neta para o hospital, mas o bebê acabou nascendo 45 minutos depois, dentro do próprio carro. Leggate, que tomava pílula anticoncepcional, diz não não ter tido enjoos, desejos por comida e nem sentido a filha chutar. Os médicos acreditam que o fato da barriga não ter aparecido pode ter sido causado pelo posicionamento do feto na região lombar.

Emmalouise Leggate 2 - Reprodução/Facebook - Reprodução/Facebook
Imagem: Reprodução/Facebook

"Não achei que fosse real. Minha vó estava em choque e não conseguia acreditar. Somos muito sortudos por ela estar bem", contou a adolescente, que já é mãe de uma garotinha de 1 ano e meio. "Não fiz exame de gravidez e não tive nenhum sintoma. Os médicos não conseguiram me explicar exatamente porque eu não tive barriga. Eles apenas disseram que ela estava sentada na minha lombar e que isso é comum. Ciara nunca chutou. Nunca senti ela em mim", afirmou.

Segundo ela, a única mudança no seu corpo foi o ganho de peso. "Ganhei alguns quilos a mais e minha mãe sugeriu que fizéssemos caminhadas. Fiquei mais com os braços, as pernas e o rosto cheinhos. Minha barriga nunca cresceu".

Emmalouise Leggate - Reprodução/Facebook - Reprodução/Facebook
Imagem: Reprodução/Facebook

A escolha do nome não foi à toa: a bebê foi batizada de Ciara Louise, em homenagem à bisavó da jovem, que faleceu em outubro de 2018. "Eu definitivamente vou contar para ela quando for mais velha tudo que aconteceu. Em sua certidão de nascimento diz que ela nasceu fora do hospital", contou.