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

Jornalista que apresentou JN deixa TV Gazeta para entrar na política

Philipe Lemos na bancada do JN em setembro de 2019 - Reprodução/ Globoplay/ TV Globo
Philipe Lemos na bancada do JN em setembro de 2019 Imagem: Reprodução/ Globoplay/ TV Globo

De Splash, em São Paulo

08/03/2022 16h46Atualizada em 22/07/2022 19h46

O jornalista e apresentador Philipe Lemos, que chegou a entrar para o rodízio de apresentadores da bancada do "Jornal Nacional" (TV Globo), deixou a TV Gazeta, afiliada capixaba da Globo, após 16 anos de trabalho. Ele pretende ingressar na vida política e tentar vaga de deputado federal. A informação foi dada pela colunista de política de A Gazeta, Letícia Gonçalves, e confirmada por Splash.

A Splash, Philipe Lemos disse que não está filiado a nenhum partido no momento, mas já realiza conversas. Por normas, ele não poderia estar filiado enquanto fosse funcionário. "Pedi meu desligamento [da TV Gazeta]. A formalização se deu hoje", explicou.

A Rede Gazeta confirmou que Philipe Lemos comunicou a saída da emissora hoje e que o mesmo tinha "intenção de entrar na vida política".

"Nesta terça-feira (08), ele comunicou aos colegas a intenção de ingressar na vida política, e Rafaela Marquezini seguirá como titular do telejornal", publicou o grupo de comunicação em sua conta no Instagram.

A nota também dá detalhes do porquê funcionários não podem se filiar a partidos políticos: "Conforme consta no 'Rede de Valores', documento que reúne as nossas diretrizes éticas e editoriais, os jornalistas são proibidos de participar de qualquer atividade político-partidária, e em nenhuma hipótese funcionários podem ter sua imagem identificada com políticos ou partidos".

Até o momento, Lemos ainda não definiu quais bandeiras ou pautas deve levantar na campanha eleitoral. "Estou alinhando um texto mais completo [...]. É uma parte de suma importância. Por isso, o cuidado com esse tema", pontuou.

O jornalista de 39 anos nascido na Paraíba e crescido no Espírito Santo estava de férias e era apresentador fixo do telejornal "ES1" há 12 anos. Ele estava na Rede Gazeta desde 2006.

Quando apresentou o Jornal Nacional pela primeira vez em setembro de 2019, Lemos chamou atenção dos telespectadores. "Estou morta porque Philipe virou crush de metade da audiência do 'Jornal Nacional' ", brincou um deles na época.

"Vamos todos mais uma vez, o Espírito Santo inteiro mais uma vez. Eu e mais quatro milhões [de capixabas]. É mais uma oportunidade importantíssima, única, de levar o nosso estado, nossa cultura e belezas para o principal telejornal do Brasil", disse Philipe Lemos no ES1, prestes a ir para o Rio de Janeiro apresentar o JN pela segunda vez, em 2020.