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

'Além da Ilusão' terá troca de identidade como em 'Um Lugar ao Sol'

Davi, em "Alem da Ilusão" e Christian, em "Um Lugar ao Sol": personagens assumem outra identidade em suas respectivas tramas - divulgação/ TV Globo
Davi, em 'Alem da Ilusão' e Christian, em 'Um Lugar ao Sol': personagens assumem outra identidade em suas respectivas tramas Imagem: divulgação/ TV Globo

Colunista do UOL

07/01/2022 13h26

Não será apenas "Um Lugar ao Sol" que terá a temática da troca de identidade em sua história. Quando "Além da Ilusão" estrear, em 7 de fevereiro, o personagem de Rafael Vitti, o protagonista Davi, também verá a necessidade de assumir o nome de outra pessoa. Os motivos que levam os personagens das duas novelas a tomarem essa decisão são distintos, claro, mas não deixa de ser curiosa essa coincidência.

Porém, a autora Alessandra Poggi se adianta e explica que os dois casos são totalmente diferentes:

Em 'Um Lugar ao Sol', Christian (Cauã Reymond) rouba a identidade do irmão morto e fica vivendo a vida do Renato, se relaciona com a família dele. É um anti-herói. A nova identidade de Davi (Rafael Vitti) é circunstancial. Ele a 10 anos preso por um crime que não cometeu e quando foge da cadeia é para buscar justiça. Só que ele sofre um acidente coletivo e se vê no meio de vários policiais. Com medo de voltar para cadeia, ele se apropria da identidade de um homem aparentemente morto. Ele não faz de maneira intencional, mas por uma necessidade."

Na troca da identidade, Davi, que a a se chamar Rafael, vai parar na tecelagem da cidade, local onde o rapaz supostamente morto estava indo se apresentar para trabalhar. Coincidentemente, tanto Davi quanto o tal Rafael são formados em istração, portanto, o usurpador começa a trabalhar na função sem levantar suspeitas.

O diretor artístico Luiz Henrique Rios corrobora com a explicação da autora.

Davi continua sendo Davi. É só um nome. Ele se formou em istração e a a trabalhar no cargo. Pode-se dizer que é um disfarce. Davi é um ilusionista. Vive a vida que é a dele e está na corda bamba, porque se descobrirem vai preso. Ele só se mantém no risco por necessidade e, depois, por amor", conta Rios.

O diretor se refere ao fato de Davi acreditar que Isadora (Larissa Manoela) está correndo perigo e que ele precisa salvá-la. Nessa altura da história, o rapaz está completamente apaixonado pela moça, que ele conheceu criança, quando era namorado da irmã dela, Elisa. Só que a jovem foi assassinada e Davi acusado de ser o criminoso. Portanto, ao ver Isadora, o mágico leva um choque, já que a menina se tornou mulher e a cara de sua irmã mais velha.

Ele acredita que precisa salvar essa menina e por isso leva essa situação impensável adiante. Davi não fazia ideia do que iria acontecer, só queria ter a oportunidade de poder provar sua inocência. Mas acaba preso no destino dele. É uma história de reparação, mas ao invés de ser através da vingança, se dará pelo amor. E Davi é um herói e o herói se sacrifica para salvar alguém", filosofa o diretor.