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

Corinthians

Vítor Pereira recebe carta branca e prepara mudanças no Corinthians

Vítor Pereira e o presidente Duilio Monteiro Alves durante conversa no CT Joaquim Grava  - Rodrigo Coca/ Ag. Corinthians
Vítor Pereira e o presidente Duilio Monteiro Alves durante conversa no CT Joaquim Grava Imagem: Rodrigo Coca/ Ag. Corinthians

Bruno Andrade, Ricardo Perrone e Yago Rudá

Do UOL, em São Paulo

07/04/2022 14h49

Vítor Pereira caminha para fazer diversas mudanças no time e também no elenco do Corinthians. Respaldado pela diretoria, o treinador recebeu carta branca para afastar e também colocar no mercado os jogadores que não se enquadram na nova filosofia de trabalho da comissão técnica.

Na visão dos portugueses, alguns atletas não têm dado o máximo durante os treinos físico e táticos e, com isso, devem perder espaço nos próximos dias, independentemente da experiência e do peso dentro do grupo.

Apesar dos obstáculos no dia a dia e dos últimos resultados negativos em campo, Vítor Pereira avisou a pessoas próximas que está decidido em permanecer no clube e cumprir o contrato (até dezembro deste ano).

Um dos principais pontos a favor de continuidade da comissão técnica portuguesa é a moral dada constantemente nos bastidores pelos dirigentes alvinegros, especialmente do presidente Duilio Monteiro Alves, que, inclusive, foi o grande responsável pela contratação.

Em contato com o UOL Esporte, a diretoria do Corinthians informou que todos os treinadores que am pelo CT Joaquim Grava possuem carta branca para realizar as alterações que bem entenderem na equipe, não sendo um privilégio apenas da atual comissão técnica.

Ainda de acordo com o clube, a decisão de abrir os portões do CT Joaquim Grava para alguns torcedores organizados nesta quinta-feira foi realizada com o aval da diretoria, comissão técnica e elenco. Segundo apurou a reportagem, apesar de estarem cientes, os portugueses demonstraram certo incômodo com a situação considerada rotineira no futebol brasileiro.

De acordo com fontes ligadas à Gaviões da Fiel, a conversa com Vítor Pereira foi acompanhada pela diretoria de futebol no CT Joaquim Grava. A principal torcida organizada do Corinthians apoia irrestritamente o treinador e sua comissão técnica.

  • Acompanhe os destaques do dia no esporte na Live do Mauro Cezar:

Corinthians