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

Em meio a rumores de romance, Xolo Maridueña parabeniza Marquezine

De Splash, em São Paulo

04/08/2022 07h58

Reforçando os rumores de um romance, Xolo Maridueña, 21, publicou uma bela homenagem a Bruna Marquezine, que completa 27 anos hoje.

Os atores são o casal protagonista de "Besouro Azul" (DC Comics) e se conheceram nas gravações do filme.

Na publicação feita no Instagram, Xolo mostrou vários momentos descontraídos ao lado de Bruna. Em um dos vídeos publicados, os dois se divertem em um lago e, ao caírem na água, a atriz se aproxima para fazer um carinho no rapaz.

"Feliz aniversário fofoca monster. Mesmo depois de filmar um filme inteiro juntos, você ainda me tolera, o que significa que você merece o aniversário mais feliz", escreveu Xolo.

"Obrigado por pedir todas as sobremesas quando comemos, me ensinar as melhores frases — "filha da pu**" é de longe a minha favorita, mas, acima de tudo, obrigado por ser a boba mais FOD*"

Xolo começou a atuar aos dez anos e pode ser lembrado pelo público por outras produções: "Cobra Kai" e "Parenthood". Além das duas séries, ele também fez participações especiais em "Wu-Tang: An American Saga", "A Hora do Rush", e "Twin Peaks".

Ele descobriu que havia conseguido o papel do primeiro super-herói latino da DC durante um jantar com o presidente da DC Films, Walter Hamada, e Galen Vaisman, executivo da Warner.

À Variety, o ator comentou sobre a importância da representatividade nos filmes:

A única coisa que está em minha mente agora é apenas o fato de que ele é latino. Tenho muito orgulho de fazer parte deste projeto.

Nos quadrinhos da DC, o Besouro Azul é o alter-ego de super-herói usado por três heróis diferentes, mas, segundo o "The Wrap", o filme se concentrará no adolescente mexicano-americano Jaime Reyes, terceiro personagem a assumir o manto do Besouro Azul.

Brasileiros que já atuaram em filmes de heróis em Hollywood