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

Xuxa sobre reencontro com Marlene Mattos após 15 anos: 'Foi meio armada'

Marlene Mattos dirigiu os programas de Xuxa Meneghel durante 18 anos - Reprodução/Instagram
Marlene Mattos dirigiu os programas de Xuxa Meneghel durante 18 anos Imagem: Reprodução/Instagram

Colaboração para Splash, em Maceió

12/02/2023 18h35

Depois de 15 anos afastadas, a apresentadora Xuxa Meneghel e a empresária Marlene Mattos se reencontraram para a gravação de um documentário sobre a vida da comunicadora, produzido para o streaming do GloboPlay.

Em entrevista ao Globo, Xuxa detalhou um pouco o reencontro com Marlene e disse ter ficado "chocada" ao perceber que a empresária "não mudou nada" ao longo desse tempo em que estiveram afastadas.

"E a Marlene, com quem eu não falava havia 15 anos. Eu acho que ela foi meio armada, achando que era 'meu documentário, feito pelo meu amigo Pedro'. Já chegou de um jeito assim: 'se vocês acham que vou pedir desculpas, não vou'. Ela não mudou nada. Isso me deixou chocada. Eu mudo quase diariamente", declarou.

O documentário sobre a vida de Xuxa, ainda sem data de estreia, é dirigido por Pedro Bial, de quem a apresentadora é amiga. Segundo a artista, ela pediu ao Bial que o documentário não seja "algo chapa branca". Por isso, ressaltou que o apresentador lhe colocou em algumas "saias justas".

Xuxa e Marlene Mattos mantiveram uma parceria profissional e pessoal por quase 20 anos, que chegou ao fim por divergências profissionais.

Mattos foi responsável por dirigir a apresentadora em programas como Xou da Xuxa, Xuxa Park e Planeta Xuxa. A empresária, inclusive, foi convidada para ser madrinha de batismo de Sasha.

Na entrevista ao Globo, Xuxa também falou sobre a cobrança por estar "velha". Prestes a celebrar 60 anos, ela afirmou que não fica "magoada" com comentários sobre sua aparência.

"As pessoas me cobram: 'A Xuxa tá velha'. Não fico magoada. Eu tenho espelho em casa. Eu sei. Eu entendo elas. Eu sei me olhar com o olhar delas. Mas meus fãs de antigamente também envelheceram. E não querem se ver desse jeito. Muitas dessas pessoas, pelo visto, não têm maturidade para curtir essa fase", destacou.

Ela aproveitou para refletir sobre a palavra "velha" e dizer que se sente privilegiada ao afirmar que não sofreu preconceitos ao longo da carreira e que continua trabalhando.