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

Marcelle Carvalho

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Alexandre Nero é vilão azedo na inédita 'Nos Tempos do Imperador'

Alexandre Nero e João Pedro Zappa: Tonico e Nélio em "Nos Tempos do Imperador"  - João Miguel Junior/rede globo/divulgação
Alexandre Nero e João Pedro Zappa: Tonico e Nélio em 'Nos Tempos do Imperador' Imagem: João Miguel Junior/rede globo/divulgação

Colunista do UOL

14/07/2021 04h00

Quando "Nos Tempos do Imperador" estrear, no dia 9 de agosto, abrindo a temporada de novelas 100% inéditas da TV Globo, Alexandre Nero vai dar problema na trama das 18h. A cara do ator na foto já indica o quão azedo vai ser o seu vilão Tonico. Deputado corrupto, ainda fará seu assessor parlamentar, Nélio (João Pedro Zappa com Nero na foto) de capacho, aproveitando o fato de o rapaz não conseguir se posicionar diante de sua forte presença.

Se um Nero já é bom, dois, então... A nova novela fará o ator aparecer em dose dupla na TV, já que a reprise de "Império" segue no ar. Com isso, ele vai abrir a sequência de tramas, às 18h, com o vilão Tonico, e fechará às 21h, na pele do mocinho-torto José Alfredo, o Comendador. Mas não adianta procurar semelhanças entre os dois personagens. A única talvez seja o DNA nordestino: o empresário é pernambucano; o político, baiano.

Alexandre Nero e João Pedro Zappa em 'Nos Tempos do Imperador' - João Miguel Junior/rede globo/Divulgação - João Miguel Junior/rede globo/Divulgação
Na trama, Tonico trama Nélio, seu assessor, como um capacho
Imagem: João Miguel Junior/rede globo/Divulgação

E a falta de empatia do deputado não ficará apenas sobre Nélio. O moço ainda vai ser o pesadelo da mocinha Pilar (Gabriela Medvedovski). Prometida a ele por um arranjo familiar, ela foge literalmente da sina de um casamento sem amor. Durante a fuga, a bela encontra o homem de sua vida: o escravo Jorge (Michel Gomes) —que, mais tarde, ará a se chamar Samuel. Ferido, acaba sendo cuidado pela jovem. O que ele não imagina é que os tiros que o atingiram foram disparados pelo seu meio-irmão... Tonico! Sim, justamente o prometido da mulher por quem ele acaba de se apaixonar. Eita, é disso que noveleiro raiz gosta, minha gente!

A história de Tonico é uma das que vão movimentar a trama escrita por Alessandro Marson e Thereza Falcão. Ambientada no século 19, a novela tem como fio condutor momentos importantes na vida de dom Pedro 2º (Selton Mello). Será uma espécie de continuação da saga da dinastia real no Brasil, iniciada em "Novo Mundo" (2017), com a chegada de dom João 6º (Leo Jayme) e família, e o desenrolar da história com dom Pedro 1º (Caio Castro).

No rastro do frescor de "Nos Tempos do Imperador" está prevista para novembro também mais uma novinha em folha: "Um Lugar ao Sol", que ocupará o horário nobre da Globo. As séries também chegam inéditas, como a quarta temporada de "Sob Pressão", em 12 de agosto.

Apesar de ainda estarmos em um momento delicado da pandemia, é bom ver a engrenagem da teledramaturgia funcionando e acontecendo, mesmo envolvida em necessários protocolos de segurança contra a covid-19. Que venham mais e mais histórias inéditas para encher o HD da mente dos aficionados por telenovelas.

Em breve, mais cenas dos próximos capítulos!