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

Mercado da Bola

OPINIÃO

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

Lesão de Arboleda, urgência de reforços e o drama de Ceni no São Paulo

Rogério Ceni terá mês de cobertor curto pela frente: DM cheio e reforços só a partir do dia 18 de julho - Robson Mafra/AGIF
Rogério Ceni terá mês de cobertor curto pela frente: DM cheio e reforços só a partir do dia 18 de julho Imagem: Robson Mafra/AGIF

Colunista do UOL

24/06/2022 14h36

Decisão com clássico na Copa do Brasil, na Sul-Americana e maratona no Brasileirão. Seu elenco é curto, está com DM cheio e contratações só podem ser usadas depois do dia 18 de julho, na abertura da janela. O que você faria? Esse é hoje o drama de Rogério Ceni no São Paulo.

A grave lesão de Arboleda aumentou a necessidade de o São Paulo ir ao mercado da bola em busca de reforços. O zagueiro fraturou e rompeu ligamentos do tornozelo esquerdo e virou a (provável) terceira baixa para o restante da temporada, ao lado de Luan e Gabriel Sara.

Sem o equatoriano titular, o clube tem urgência de contratar um novo zagueiro de forma imediata. Essa é a opinião deste colunista e também um sentimento no bastidor do clube. Hoje (24), Diego Costa, Léo e Miranda se tornam as principais peças. Beraldo e Luizão são as outras opções.

Segundo o setorista do São Paulo aqui no UOL Esporte, Brunno Carvalho, o clube olha para zagueiro, volante, centroavante e um velocista de lado. Acho que só Marcos Guilherme como opção de velocidade é pouco. O jogador está acertado e depende de os finais para ser anunciado.

Além disso, também acho que o São Paulo precisa de um novo goleiro, visão compartilhada por gente do próprio clube. Jandrei e Thiago Couto são os principais nomes, após a saída de Tiago Volpi.

O problema para Rogério Ceni é que as contratações só poderão jogar na abertura da janela. Ou seja, vem aí quase um mês de cobertor curto com decisões contra o Palmeiras (pela volta das oitavas da Copa do Brasil, no dia 14 de julho), Universidad Católica (oitavas da Sul-Americana na próxima quinta e no dia 7 de julho) e partidas em sequência no Brasileirão, pelo qual o time não venceu como visitante.

Período crucial que pode comprometer o restante da temporada e com departamento médico cheio. Problema percebido por Ceni, pois ele terá de fazer escolhas duras nas próximas semanas.

Veja abaixo a declaração do treinador após o jogo de ontem (23) e opine nos comentários.

"Nós temos uma ótima equipe, bons jogadores, caras dedicados, mas temos muita gente no DM. Se me dessem todos que estão no DM, digo pra vocês que temos uma chance maior de sucesso. Sem contratação nenhuma, me dê todos que estão lá com lesões há tempo, há mês, 15 dias, 35 dias, os que vão ficar mais ainda. Me deem esses caras e você vai ver como nós temos uma chance maior de sucesso em mais de uma competição", disse.

"Agora, quando o elenco é curto, se você quiser atacar em várias frentes, aí a chance de lesão é maior. Não temos ninguém que possa voltar à vista, para as próximas duas, três rodadas. Não acredito que nenhum volte. Mas, falei, temos mais chances de perder, e perdemos mais um atleta. E vai ficando curto. E dia 18 não chega, não conseguimos tirar ninguém do DM, porque são lesões sérias. As opções vão diminuindo, o cansaço vai aumentando. A chance de lesão, consequentemente, também", completou.

Siga também @Marcelo_Hazan no Twitter, Instagram, TikTok, Kwai e Facebook