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

Fãs resgatam vídeo de Juliette e Samantha Schmütz se divertindo em campanha

Antes da polêmica, Juliette e Samantha Schmütz se divertiram em campanha - Reprodução
Antes da polêmica, Juliette e Samantha Schmütz se divertiram em campanha Imagem: Reprodução

Colaboração para Splash, no Rio de Janeiro

17/05/2022 19h03

A discussão pode ser recente, mas Juliette e Samantha Schmütz já se conhecem há um tempo. Fãs resgataram um vídeo em que as duas aparecem sorridentes e curtindo a gravação de uma campanha patrocinada por uma marca de maquiagem. Em clima de intimidade, as duas maquiaram a apresentadora Astrid Fontenelle.

Além delas, outros famosos estavam presentes no evento, como Pedro Sampaio e Pocah. "Do terceirão pra vida", brincou o internauta que encontrou o vídeo do evento realizado no ano ado.

Fãs da Juliette aproveitaram as imagens para criticarem, mais uma vez, a atitude de Schmütz. "É por isso que não acredito em Stories, principalmente de famoso", "Hitou em cima da Juliette, militou quando a diminuíram no 'BBB' e agora fez o que? A diminuiu. Errou feio, errou rude" e "ando mal com a falsidade", foram alguns comentários que apareceram na publicação.

Confira o vídeo abaixo:

Polêmica

A treta começou após Juliette reforçar a importância dos artistas usarem suas vozes para se posicionarem em assuntos importantes. "Bom, eu acho que, como pessoa anônima eu já fazia questão de participar de tudo aquilo que refletisse na sociedade, ou em mim, ou contribuir para alguma coisa positiva e como artista acho que é obrigação. A gente tá em um lugar de destaque, a nossa carreira não é só para nós, a gente tem um papel social. Então eu acho que tudo que atinge a sociedade nos diz respeito. Eu, como artista hoje, que estou me tornando, que sou, acho que é obrigação", disse a cantora no "Altas Horas", da Globo.

Schmütz, então, elogiou a postura de Juliette, mas acabou alfinetando: "Mas ela é artista?". A atitude da atriz, desde então, tem dado o que falar e dividiu a web.