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

Lucas Pasin

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.

Cortes no Esporte da Globo: mais de 20 demissões e canal de games ameaçado

Maurício Noriega deixou o jornalismo esportivo da Globo - Reprodução/YouTube
Maurício Noriega deixou o jornalismo esportivo da Globo Imagem: Reprodução/YouTube

Colunista do UOL

13/04/2023 19h31

Receba os novos posts desta coluna no seu e-mail

Email inválido

Depois de uma onda de demissões no jornalismo, a Globo realizou hoje cortes na área de Esportes, com desligamentos de nomes como Régis Rösing, repórter há 33 anos na emissora, e o comentarista Maurício Noriega, 21 anos no canal.

Segundo fontes deste colunista de Splash, foram mais de 20 nomes demitidos, incluindo profissionais de vídeo, reportagens online e produção.

Funcionários que pediram folga nesta semana tiveram o pedido negado, e um aviso: "teremos uma reunião com os chefes na quinta-feira".

No Rio, um andar inteiro foi reservado para as demissões. Segundo fontes, a Globo levou equipamentos dos Estúdios Globo para a realização de exames demissionais e preferiu realizar todo o processo burocrático no mesmo dia.

Fim do canal de games?

O canal Esports - uma editoria de games dentro do Globo Esporte - foi praticamente extinto, sobrando apenas dois produtores de conteúdo. A editoria com cobertura de esportes eletrônicos já havia sofrido cortes de oito para quatro funcionários, mudança de chefia, e agora uma nova redução de 50%.

"Tudo indicava que a Globo poderia investir mais em esportes eletrônicos, é a tendência, mas com as demissões e novos cortes, existe a possibilidade de extinção da editoria", afirmou uma fonte.

Procurada, a Globo nega a intenção de extinguir o canal de games no momento.

Demissões já eram esperadas

Profissionais do departamento de esporte da Globo já esperavam há algumas semanas que desligamentos fossem anunciados. Assim como no Jornalismo, "listas" com possíveis nomes demitidos circularam nos bastidores e notícias sobre os cortes tomara a mídia.

Os funcionários desligados, em sua maioria, seguiram o mesmo perfil dos demitidos no Jornalismo: profissionais com altos salários ou modelos de contratos antigos, que previam plano de saúde diferente e bônus salarial.

Confira outros nomes demitidos pela TV Globo:

Carlão, ex-atleta e comentarista do SporTV;
Júlia Garcia, filha do jornalista Alexandre Garcia.
Thiago Correia (editoria e-Sports, extinta pela emissora).
João Ramalho (produtor especial de seleção brasileira)

O que a Globo diz sobre demissões?

A Globo afirmou que, assim como as demais empresas de referência do mercado, tem o "compromisso permanente com a busca de eficiência e evolução, mas lamenta quando se despede de profissionais que ajudaram a escrever e a contar a sua história".

As demissões fazem parte da dinâmica de qualquer empresa, segundo a emissora. "Os resultados da Globo refletem a boa performance do conjunto das suas operações e uma constante avaliação do cenário econômico do país e dos negócios".

"Como parte do processo de transformação pela qual vem ando nos últimos anos e alinhada à sua estratégia, a empresa mantém a disciplina de custos e investimentos em iniciativas importantes de crescimento", conclui o posicionamento.