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

OPINIÃO

Mauro: "Diferença do Carioca para o Paulista é que no Rio tem um time bom"

Do UOL, em São Paulo

04/08/2020 04h00

O Corinthians, que antes da parada do futebol devido à pandemia do coronavírus estava próximo da eliminação, avançou até a final do Campeonato Paulista, mesmo sem jogar um futebol vistoso. Já a Ponte Preta foi a última colocada entre os times que aram ao mata-mata e caiu na semifinal, enquanto o São Paulo foi eliminado nas quartas de final pelo Mirassol. Por fim, o Palmeiras tem elenco considerado um dos melhores do Brasil, mas ainda não conseguiu apresentar um jogo ofensivo.

No podcast Posse de Bola #44, Mauro Cezar Pereira critica o nível do Paulistão e diz que, apesar de os elencos dos clubes do Estado não serem ruins, os times deixam a desejar pelo o que estão apresentando. Ele afirma ainda que o Campeonato Carioca também é fraco, mas que neste ano teve um time que jogou um bom futebol, o campeão Flamengo.

"O Campeonato é ruim, os times de São Paulo são ruins. Os elencos não são ruins, mas os times são ruins jogando futebol e, aí, ontem [domingo], quando eu escrevi isso, começaram alguns bobalhões 'bom é o Campeonato Carioca'. Na cabeça do elemento, o fato de eu ser do Estado do Rio de Janeiro, significa que eu vá defender o Campeonato Carioca. Não, o Campeonato Carioca também é ruim, mas, como eu disse, vou repetir aqui, a grande diferença do Campeonato Carioca para o Campeonato Paulista é que no Rio de Janeiro tem um time bom. Um time bom, é isso", diz Mauro Cezar (no vídeo acima a partir de 12:29).

"São Paulo não tem nenhum time bom, tem bons jogadores, e alguns elencos, São Paulo e Palmeiras especialmente. O do Corinthians não é tão bom, mas também não é tão ruim, tem alguns bons jogadores, dá para tirar ali um caldo melhor. O Santos, eu nem falo porque, coitado, está numa situação que o jogador, de repente, aparece um camarada com advogado e vai embora também, cada hora sai um, é uma confusão danada. É difícil até imaginar o que vai ser do Santos", completa o jornalista.

Mauro critica a forma como o Corinthians se portou contra o Mirassol, clube que durante a parada devido à pandemia perdeu 18 jogadores e precisou remontar seu elenco às pressas e, ainda assim, eliminou o São Paulo, além de ter segurado o empate com o Corinthians durante a maior parte da semifinal.

"Tadinho do Mirassol, perdeu 18 jogadores, estava laçando nego na esquina para botar no jogo. 'Quer jogar aí contra o São Paulo? Entra aí, faz um contrato rápido aí'. Esse time eliminou o São Paulo e o Corinthians fez cera nos instantes finais, ganhando de 1 a 0. Os caras com dez jogadores desde os 14 minutos de partida. É constrangedor, futebol muito mequetrefe, uma mentalidade tacanha que ainda impera", afirma o colunista do UOL.

Joel Santana falando sobre técnicos estrangeiros na TV

Além de abordar o futebol paulista, Mauro Cezar também fala sobre as críticas e questionamentos aos treinadores estrangeiros na TV, apontando que o novo técnico do Flamengo, Domènec Torrent, deverá ar pelo mesmo que Jorge Sampaoli e Jorge Jesus, com questionamentos como o de Joel Santana sobre a busca por profissionais de outros países.

"Com a chegada aí do Domènec, o que vamos ter agora? Os professores, como fizeram com o Sampaoli, como fizeram com o Jesus e daqui a pouco vão fazer com o Eduardo Coudet, no Internacional também. Alguns professores, não todos, claro, com aquele discursinho de sempre apoiados pelos amiguinhos da mídia, os amiguinhos que gostam de ficar também dando alfinetadas, dizendo que é tudo a mesma coisa", diz o jornalista.

"Aí, alguém vai escutar o Joel Santana, como se o Joel Santana tivesse alguma coisa a dizer hoje. O Joel Santana hoje poderia fazer normalmente um comercial de xampu, que é maravilhoso aquele comercial de xampu, é divertidíssimo, mas para falar de futebol, com todo respeito, não tem mais nada a acrescentar. Estou falando do Joel e valeria para vários outros personagens que são recuperados aí do nada para ficar falando sobre o trabalho dos caras que são muito melhores do que eles foram e muito melhores do que esses que estão aqui e o que mais me incomoda é que isso não os incomoda", conclui.

Você pode ouvir o Posse de Bola em seu tocador favorito, quando quiser e na hora que quiser. O Posse de Bola está disponível no Spotify e na Apple Podcasts, no Google Podcasts e no Castbox . Basta buscar o nome do programa e dar play no episódio desejado. No caso do Posse de Bola, é possível ainda ouvir via página oficial do UOL e YouTube do UOL. Outros podcasts do UOL estão disponíveis em uol.com.br/podcasts.