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

Sydney Sweeney ficou enjoada filmando a cena da banheira em 'Euphoria'

Cena de Euphoria em que a personagem de Sidney Sweeney a mal na banheira - Reprodução/HBO
Cena de Euphoria em que a personagem de Sidney Sweeney a mal na banheira Imagem: Reprodução/HBO

Colaboração para Splash, em São Paulo

05/10/2022 09h34Atualizada em 05/10/2022 14h09

Sydney Sweeney, 25 anos, foi indicada ao Emmy Awards por sua atuação como Cassie, em Euphoria (HBO Max), mas a atriz explica que nem tudo foi perfeito durante as gravações. Durante a cena da hidromassagem no quarto episódio da série, ela a muito mal e acaba vomitando. A loira revelou que ficou enjoada de verdade nas gravações.

Ao lado de Nate Jacobs (Jacob Elordi), Maddy Perez (Alexa Demie) e Cat Hernandez (Barbie Ferreira), Cassie a muito mal ao ver a discussão entre Nate e Maddy, pois está tendo um caso com o jogador de futebol americano. Em entrevista ao portal Decider, Sydney falou sobre o que sentiu durante as gravações.

"Durante a cena da banheira de hidromassagem, durante o vômito, fiquei realmente enojada. Eles tinham um tubo invisível que parecia um cabresto, e o colocaram na minha boca e eu tive que de alguma parecer seminormal e depois vomitar sobre todo mundo, o que era... Era tão nojento", afirmou.

"Cada cena [o diretor Sam Levinson] queria que ela bebesse uma garrafa diferente. Se você notar, em cada corte ela tem uma garrafa completamente diferente em suas mãos. No final desse episódio, eu fico tipo, quantos drinques ela está tomando? Ela se foi". Mesmo que toda a experiência do tubo de vômito fosse desconfortável, Sydney apreciou o desafio.

"Eu sempre amo esse tipo de cena em que estamos todos juntos. Porque muitas vezes não temos muitas cenas em que temos um monte de garotas juntas e estávamos literalmente em um quarto... Então, foi caótico, mas divertido", pontuou.