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

Demi Moore, ex de Bruce Willis, homenageia ator em aniversário: 'Te amo'

De Splash, em São Paulo

19/03/2023 22h26

Bruce Willis, que foi diagnosticado com demência no mês ado, completou 68 anos neste domingo (19) e celebrou a data ao lado da esposa, Emma Heming, da ex-mulher, Demi Moore, e dos filhos e familiares em sua casa, nos Estados Unidos.

Em postagem no Instagram, Demi Moore postou um vídeo da família cantando "parabéns" para o artista, que aparece conversando normalmente e com largo sorriso no rosto. Ele ainda assopra as velas em uma torta.

"Feliz aniversário, BW! Que bom que pudemos celebrar você hoje. Te amo e amo nossa família. Obrigado a todos pelo amor e desejos calorosos - todos nós os sentimos", legendou Moore, na publicação para o Instagram.

Bruce Willis tem três filhas com Demi Moore (Rumer, Scout e Tallulah) e duas com a atual esposa Emma (Mabel e Evelyn).

Mais cedo, Emma publicou um relato dizendo que as pessoas sempre a elogiam por ser tão forte diante da adversidade, mas ela explica que não tem escolha e apenas faz o que é preciso para manter sua casa e sua vida em ordem. No vídeo, ela diz que tem ado por momentos de luto e de tristeza, especialmente por ter dois filhos pequenos e criá-los tem sido difícil.

"Não sei por que faço isso comigo mesma, porque os vídeos são como uma facada no meu coração", disse ela. "Mas tanto quanto eu faço isso por mim, eu faço isso por você porque eu sei o quanto você ama meu marido e - não chore Emma", declarou.

Mais cedo, Emma também publicou um vídeo com diversas imagens e ao lado do marido para comemorar o aniversário de 68 anos.

A rotina de Bruce Willis

Desde o seu diagnóstico inicial de afasia, em março de 2022, Bruce Willis tem ficado recluso, com raras aparições nas redes sociais de sua família.

Sua esposa, Emma Hemming Willis, e a ex-mulher, Demi Moore, contaram, em um comunicado, que tiveram que lidar com os desafios na comunicação com o artista, que é apenas um dos sintomas do problema, durante os últimos meses.

Em relatos no Instagram, Emma disse que o marido optou por priorizar a família enquanto lida com a doença. Juntos, o casal teve duas filhas, Mabel Ray (10) e Evelyn Penn (8). O artista ainda é pai de Rumer (34), Tallulah (31) e Scout (28), do relacionamento com Demi Moore.

O astro de "Duro de Matar" prefere ficar em sua mansão, localizada em Brentwood, um bairro de Los Angeles. Antes do diagnóstico, ele possuía cerca de R$ 303 milhões em outros imóveis, vendidos para que pudesse ficar perto da família e amigos na Califórnia.

Emma tem o costume de dividir alguns registros do ator ao lado das filhas, em brincadeiras e momentos descontraídos. Neles, Bruce aparece cuidando de detalhes da casa, pintando cercas e cuidando das plantas do jardim.

Em dezembro, a modelo mostrou alguns vídeos da família ao longo do último ano e disse que "estão sempre prontos para se divertir". Os registros vão desde viagens a aniversários e tradições de Dia das Bruxas.

Ela também compartilhou diversos momentos do artista com as filhas mais novas durante o último verão, enquanto aproveitavam a natureza.

Na época, Emma disse que o período estava sendo de "autodescoberta" e que estavam explorando novos hobbies, saindo da zona de conforto e permanecendo ativos. "Meu luto pode ser paralisante, mas estou aprendendo a conviver com ele", refletiu.