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

Ex-editor da Globo detona Ali Kamel após série de demissões: 'Pangaré'

Tonico Duarte fez duras críticas a Ali Kamel, chefe de jornalismo da Globo - Reprodução: Globo/Facebook
Tonico Duarte fez duras críticas a Ali Kamel, chefe de jornalismo da Globo Imagem: Reprodução: Globo/Facebook

Colaboração para Splash, em Alagoas

05/12/2021 08h41

Ex-editor do setor de jornalismo da Globo, Tonico Duarte fez duras críticas ao chefe de comunicação da emissora carioca, Ali Kamel, após a empresa realizar uma série de demissões e dispensar vários jornalistas veteranos, com décadas de casa.

Por meio de seu perfil no Facebook, Duarte se referiu a Ali Kamel como um "pangaré" que sequer "sabe escrever". Segundo o jornalista, devido a falta de talento do executivo com a escrita, ele faz "melodramáticas cartas de despedida" que envia aos profissionais dispensados, e cita como exemplo o caso dos repórteres Renato Machado e Francisco José, que recentemente foram demitidos da Globo.

"As melodramáticas cartas de despedida do Ali Kamel. Como ele não sabe escrever, elas soam como os bolerões cafonas de Carlos Alberto ou Lindomar Castilho. Poderia resumir a coisa pra: 'Tio, está com muito cabelo branco, chegou a hora de comprar um sítio e criar galinhas", iniciou. "Trabalhei com [Alberto] Gaspar, [José] Hamilton Ribeiro, Chico José, Isabela [Assumpção] e Renatão, entre outros. São todos puros-sangues da profissão. Quem os rifa, um pangaré", completou.

Isabela Machado Assumpção, citada por Tonico Duarte entre os dispensados por Ali Kamel, comentou na publicação do ex-editor, e revelou que, ao ser demitida, o executivo da Globo sequer lhe enviou uma carta de despedida ou agradecimento pelo tempo de serviço. Ela trabalhou na emissora por 41 anos.

"Não recebi nenhuma carta do Ali. Nem poderia! Afinal, nesses anos todos, todas as vezes que nos encontramos, em São Paulo ou no Rio, ele sequer me deu um oi. Seguiu em frente, com o olhar perdido no deserto, sem me olhar. Acho que esperava que eu me prostrasse aos pés dele, dizendo Alá seja louvado! Mas eu não fiz não! Então, sem olá nem adeus! Melhor assim, mais verdadeiro, de ambas as partes".

Demissões

Demitidos no último dia 30, os jornalistas Renato Machado e Francisco José tinham mais de 40 anos de trabalho na TV Globo.

A dupla faz parte de uma lista que também traz outros nomes importantes da Globo que encerraram a parceria de trabalho recentemente. Uma das principais causas apontadas pela empresa é a redução de custos para amenizar a crise gerada pela pandemia da covid-19.