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

Decisivo, Mateus Vital segue invicto na temporada e mira Sul-Americana

Mateus Vital em ação pelo Corinthians, na Neo Química Arena, pelo Paulistão - Rodrigo Coca/Agência Corinthians
Mateus Vital em ação pelo Corinthians, na Neo Química Arena, pelo Paulistão Imagem: Rodrigo Coca/Agência Corinthians

13/05/2021 08h00

Menos de dois meses após ser submetido a uma artroscopia no joelho direito, Mateus Vital está à disposição no Corinthians e sem restrições. Desde que voltou, já são quatro partidas, sendo que na última, diante da Inter de Limeira, ele já deu assistência, somando mais uma participação em gol na temporada. Agora, o objetivo é ajudar na classificação na Copa Sul-Americana.

Contra o São Paulo, o meia entrou no fim da partida pelo Paulistão e, na sequência, ganhou mais minutos contra o Sport Huancayo-PER, pela Sula. Depois, foi titular diante ao Novorizontino e, nas quartas de final do estadual, na última terça-feira, ele entrou novamente na etapa final nos 4 a 1 sobre a Inter de Limeira e deu e para o gol de Raul Gustavo, fechando a goleada.

"Sabia que meu retorno teria que ser gradativo e tem sido tudo muito bem programado. Eu vinha de uma boa sequência, podendo fazer bons jogos, mas infelizmente tive a lesão. Pude me recuperar rapidamente, com todo e do clube, e agora já numa sequência legal. Fizemos uma partida excelente diante da Inter, conseguimos avançar na competição e fico muito feliz em poder ter ajudado com assistência", afirmou Vital.

Foi a nona partida do camisa 22 na temporada 2021 e o segundo e (ambos no estadual) para os companheiros marcarem. O jovem ainda soma três gols, sendo dois no Paulistão e um na Copa do Brasil, além de um pênalti sofrido. Ao todo, são seis participações em gols nesse período. Com Mateus em campo, o Corinthians está invicto: são seis vitórias e três empates.

"Agora temos mais um compromisso difícil e decisivo. Vamos com o intuito de vencer e manter viva a possibilidade da classificação. Sabemos da dificuldade da partida, ainda mais sendo fora de casa, mas podemos buscar o resultado positivo", analisou o meia.

Lesionado, Mateus não esteve na derrota do Corinthians para o Peñarol-URU, na Neo Química Arena. Ele atuou apenas em uma partida da Copa Sul-Americana, justamente a última, nos 3 a 0 diante do Sport Huancayo-PER. Agora, fora de casa, o Timão enfrentará o Peñarol nesta quinta-feira, às 21h30, pela quarta rodada do Grupo E. Com nove pontos, o rival lidera o grupo, enquanto o Alvinegro tem quatro pontos e está em segundo lugar.

Corinthians