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

'Pantanal': Nova Juma aparece apontando espingarda e divide opiniões

Alanis Guillen, como Juma Marruá, no remake de "Pantanal" - Divulgação/TV Globo
Alanis Guillen, como Juma Marruá, no remake de 'Pantanal' Imagem: Divulgação/TV Globo

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

22/12/2021 10h52

Uma das novelas mais aclamadas da extinta TV Manchete recebeu duras críticas dos fãs nos últimos dias. E tudo por conta da caracterização da personagem principal da trama. Para comemorar os 70 anos da telenovela no Brasil - "Sua Vida Me Pertence" foi exibida pela primeira vez em 1951, na TV Tupi -, a TV Globo exibiu um especial com as histórias mais queridas e marcantes da telinha.

O remake de "Pantanal", novela de 1990, está previsto para o ano que vem e parte do elenco já foi divulgado. Juma Maruá, que na trama original foi interpretada por Cristiana Oliveira, será vivida pela atriz Alanis Guillen, e o visual da personagem não agradou a todos. Em foto divulgada recentemente, Alanis aparece caracterizada como a mulher-onça e dividiu a opinião dos fãs.

Alguns comentaram que "Ficou bem legal essa pequena exibição" e "Estão muito parecidas, a Juma de Cristiana com a Juma de Alanis", mas alguns iradores mais aficionados na novela reprovaram.

A principal crítica se deu pelo fato de que Alanis tem olhos verdes e seus cabelos estão arrumados, fazendo um contraste à personagem de Cristiana, que tinha olhos castanhos e cabelos mais cheios.

"Sinceramente... Vai ter que ser esplendoroso para ganhar da versão original", comentou um seguidor.

"Espero que não gourmetizem os personagens, porque se fizerem isso será um tiro no pé", escreveu outro.

As gravações da novela já começaram e Bruno Laperi, autor da nova versão de 'Pantanal', já afirmou que a novela será fiel à original.

Confira abaixo os outros nomes escalados para o elenco:

  • Juliana Paes e Cássia Kiss, como Maria Marruá;
  • Renato Góes, como jovem Leôncio;
  • Osmar Prado, como o Velho do Rio, espírito de Joventino Leôncio;
  • Letícia Salles e Dira Paes, como Filó;
  • Jesuíta Barbosa, como Jove;
  • José Loreto, como Tadeu;
  • Bruna Linzmeyer, como Madeleine;
  • Silvero Pereira, como o peão Zaqueu;
  • Juliano Cazarré, como o peão Alcides;
  • Murilo Benício, como o vilão Tenório;
  • Debora Bloch, como Maria Bruaca;
  • Júlia Dalavia, como Guta;
  • Bella Campos, como Maria Ruth, a 'Muda";
  • Leandro Lima, como Levi;
  • Malu Rodrigues, como (Irma);
  • E Caco Ciocler, como Gustavo.

A previsão é que o remake substitua "Um Lugar Ao Sol", novela das 21h, que sucedeu "Império" na emissora.