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

Mariana Uhlmann fala de culpa ao lidar com fase difícil do filho de 5 anos

Mariana Uhlmann com os filhos Joaquim e Maria; ela está grávida de Vicente - Reprodução/Instagram
Mariana Uhlmann com os filhos Joaquim e Maria; ela está grávida de Vicente Imagem: Reprodução/Instagram

De Universa, em São Paulo

12/02/2020 10h14

Mãe de Joaquim e Maria e à espera de Vicente, Mariana Uhlmann revelou nesta manhã em seu Instagram detalhes do dia a dia com o filho mais velho, que tem 5 anos.

A esposa do ator Felipe Simas falou que está ando por uma fase difícil com Joaquim, que, segundo ela, está em uma "fase de ironia".

"Joaquim está ando por uma fase de ironia! Não existe nada que me irrite mais do que ser respondida, ainda mais com ironia.., hoje de manhã ele estava de castigo e, durante nosso café me respondeu com ironia. Eu perdi a cabeça. Não gritei, pelo menos não com a boca, talvez com os olhos!", iniciou Mariana.

Na sequência, ela afirmou que o momento a fez chorar e sentir saudade de Joaquim.

"Respirei porque a minha vontade era de explodir... respondi grossa. Acho que nunca fui assim, tão estúpida! Óbvio que ao sair da mesa o arrependimento que todos nós pais sentimos, me dominou! Chorei de ter perdido a cabeça como nunca antes. Ele sentiu, eu também, e o nosso dia, por mais que tenha logo um abraço, não começa do mesmo jeito.. parece que a vontade de estar junto aumenta, já sinto sua falta", desabafou.

Rapidamente, os seguidores foram acalmar Mariana. "O maior desafio da maternidade não é lidar com os sentimentos dos filhos, mas sim com os nossos. É inevitável perder a cabeça, não se culpe", falou uma internauta.

"Acalma seu coração, você está se cobrando demais, seu corpo está produzindo tanto hormônio, não se culpe, ele te ama e te entende, talvez quando ele voltar, se quer vai lembrar do que houve, fique bem", consolou outra, abordando o tema da gravidez.