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

Titi Müller sobre relações monogâmicas: "Difícil manter ao longo dos anos"

Titi Müller  - Lude Richele e Felipe Damasceno/Divulgação
Titi Müller Imagem: Lude Richele e Felipe Damasceno/Divulgação

De Universa

22/11/2019 12h23

Titi Müller não parece ser das pessoas mais crentes em longas relações monogâmicas. Em entrevista à revista Quem publicada hoje, a apresentadora do Multishow questionou a durabilidade do formato.

"Acredito nas relações monogâmicas até porque a maior parte das pessoas considera que estão em um relacionamento monogâmico. Se estão mesmo é outra questão", disse Titi. "Acho que até é bem mais difícil manter um relacionamento monogâmico de verdade. Aquele que realmente não tem nenhum terceiro elemento na relação, no casamento. É difícil manter isso ao longo dos anos, principalmente na geração que a gente vive, de rede social... Onde as pessoas são apresentadas quase em um cardápio para a gente."

Casada há dois meses com Tomás Bertoni, Titi disse que não vem ao caso dizer se sua relação é aberta ou monogâmica. Ela, no entanto, destaca que o casal é "livre".

"Não vem ao caso se a minha relação é monogâmica ou não. O que posso dizer é que a gente é totalmente livre. A nossa parceria é o tempo todo refeita. Porque eu acho que é isso, o casamento é um acordo. E a gente refaz de acordo com o que a gente está sentindo, de acordo com a verdade. Acho que é isso, sendo monogâmico ou aberto. Enfim, casal que faz algumas coisinhas junto. O negócio é ser honesto. E muito mais do que fidelidade é sobre lealdade", contou.

Durante a entrevista, a apresentadora também falou sobre a relação com o próprio corpo e disse que, mesmo tento "algumas questões", sempre foi desinibida.

"Lógico que tenho questões com o meu corpo, mas muito menos do que tinha no ado. Apesar disso, nunca tive vergonha de mostrar nada na hora H. Acho que sempre fui bem desinibida. Ali na hora rola um entrosamento e a ideia é que todo mundo fique bem à vontade", revelou.

As questões com o corpo já foram muito maiores para Titi. Ela chegou a enfrentar uma anorexia nervosa. Hoje recuperada, ela diz que ama o próprio corpo.

"Eu percebi que estava com problema de distúrbio alimentar quando me olhei em uma foto e vi que realmente estava muito magra. As pessoas estavam falando que estava magra e elas estavam cobertas de razão. Eu não conseguia perceber. Amigos que não me viam há bastante tempo ficaram assustados. Comecei a prestar atenção nisso, a tratar na terapia... Hoje entendo cada vez melhor que é uma questão que tem que ter cuidado eterno, sempre tem que estar de olho, mas acredito que esteja tudo bem. Eu e meu corpo nos amamos hoje", afirmou.