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

Casagrande

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Daqui de fora, digo: seja bem-vindo ao mundo, Cleber Machado!

Cleber Machado e Walter Casagrande Jr na cabine do Estádio do Morumbi - Arquivo pessoal
Cleber Machado e Walter Casagrande Jr na cabine do Estádio do Morumbi Imagem: Arquivo pessoal

Colunista do UOL

23/03/2023 12h42

Receba os novos posts desta coluna no seu e-mail

Email inválido

Cheguei na Globo em julho de 1997 e saí em maio de 2022. Portanto, foram 25 anos trabalhando ao lado do Cleber Machado na maior parte do tempo.

Fizemos várias finais de Campeonato Paulista, Libertadores, grandes jogos de Campeonato Brasileiro, Pré-Olímpico, futsal e diversos programas.

O meu entrosamento com ele era ótimo, porque somos da mesma geração - apaixonados por futebol, cinema, música. Conversávamos muito sobre isso e usamos as vezes histórias do futebol em transmissões porque lembrávamos juntos dos mesmos momentos.

Na realidade, o Cleber para mim foi o melhor narrador com quem trabalhei depois do Galvão, e por anos foi o segundo narrador da TV Globo.

Fizemos um trio de muito sucesso na Copa de 1998, na França. Eu, Cleber e José Roberto Wright viajamos pelo país das lindas e talentosas irmãs Catherine Deneuve e Françoise Dorléac, que faleceu num acidente de carro em 1967, para fazermos os jogos.

Mas o Cleber começou a ter problemas parecidos com os meus, que foi começar a não estar mais em grandes jogos, chegando a não ir para a Copa de 2022, no Qatar. Isso foi uma tremenda injustiça, uma falta de consideração e de respeito com um grande profissional que, na minha opinião, sempre vestiu a camisa do Time Globo.

De uns tempos para cá as cartas começaram a ser marcadas, tanto para sair como para ter mais espaço.

Ter um time é bem diferente de se trabalhar com "preferências", que é diferente de ter afinidade. Como falei quando saí, o perfil do esporte da Globo havia mudado, e a nova direção tem todo o direito de escolher o estilo que quer dos seus profissionais.

Mas o importante é que o Cleber vai redescobrir o tamanho do mundo fora da bolha global, e isso não é uma crítica, é só um fato. Porque a melhor empresa para se trabalhar, por anos, foi a TV Globo, quando todos se sentiam seguros, acolhidos, protegidos e com confiança para realizar seu trabalho.

Falo isto não só das pessoas que aparecem no vídeo, mas também da produção, da técnica, enfim, de todos que fazem um jogo de futebol ir ao ar. Quem conseguiu trabalhar por muitos anos na TV Globo, como eu e o Cleber, por exemplo, não tem do que reclamar.

Sempre foi fácil comentar jogos com ele narrando e também quando comandava o ótimo Arena SporTV, porque os temas rolavam com naturalidade.

É impossível não conhecer quase tudo de uma pessoa com quem se trabalhou por 25 anos ando por momentos de muita emoção, alguns difíceis e outros muitos divertidos. É como se fosse um casamento, porque a gente ou anos trabalhando às quartas e aos domingos pelo Brasil afora, isso quando não estávamos juntos nos programas.

Durante todos esses anos também participávamos da mensagem de final de ano da Globo e era superengraçado. A gente brincava assim: quem quiser aparecer na mensagem precisa ficar ao lado do saudoso Tarcísio Meira e da sempre linda Glória Menezes, porque eles eram os principais em todos aqueles anos.

Para finalizar: não tenho dúvidas de que o Cleber Machado, em muito pouco tempo, já estará trabalhando de novo. Quem sabe não voltamos a fazer uma dupla aqui no UOL ou em outro lugar, como vai acontecer neste sábado (25) comigo, Galvão e o Tino na transmissão do jogo da seleção.

Seja bem-vindo ao mundo, Cleber!