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

Podcast

UOL Corinthians

O podcast para os torcedores do timão


OPINIÃO

UOL Corinthians #30: Amaral: "Sylvinho ainda não conseguiu apagar incêndio"

Do UOL, em São Paulo

21/09/2021 16h00

No próximo sábado (25), Sylvinho terá um momento decisivo para seu futuro. O Corinthians recebe o Palmeiras na Neo Química Arena pelo Brasileirão e o treinador chega sob pressão para o clássico. Uma derrota para o arquirrival o deixaria em situação delicada, já que ele tem sido criticado pelo rendimento abaixo do esperado da equipe, principalmente nos jogos dentro de casa.

No podcast UOL Corinthians #30 (ouça na íntegra no episódio acima), o apresentador Vanderlei Lima e o repórter Yago Rudá conversaram com o ex-volante Amaral, que já vestiu as camisas de Palmeiras e Corinthians. Ele falou sobre a expectativa para o clássico deste sábado e da pressão sobre o técnico Sylvinho.

"Se eu fosse presidente do Corinthians, a partir do momento em que eu contrato um treinador, confio no trabalho dele. Ele veio tentar apagar um fogo e não conseguiu ainda. Quem o banca hoje é a diretoria. Os jogadores também têm que ver quem é o Sylvinho como pessoa. Ele não consegue reverter isso sozinho", disse Amaral.

Para o ex-jogador, o imediatismo dos corintianos por resultados, ainda mais após as contratações de Giuliano, Renato Augusto, Róger Guedes e Willian, alimenta as cobranças sobre o treinador. "Quando ele aceitou o convite do Corinthians, sabia da pressão que iria encontrar. Agora que o clube está trazendo jogadores para dar aquele balanço, os torcedores têm que ter paciência. Com o que está acontecendo agora, empatando com times pequenos dentro de casa, fica um ponto de interrogação no trabalho do Sylvinho. Mas se ele conseguir um bom resultado contra o Palmeiras, as pessoas o verão com outros olhos", comentou.

Amaral vê o Timão em condições de brigar na parte de cima da tabela do Brasileirão. "Se você colocar no papel, o Corinthians está no mesmo nível de Flamengo, Palmeiras e Atlético-MG. Às vezes, está mais acima do Atlético-MG. A partir do momento em que começar a alcançar os resultados, pode ver que vão colocar o Corinthians como a quarta força do Brasileiro", destacou.

Na visão do ex-volante, o clássico pode selar o destino de Sylvinho no Parque São Jorge. "O Corinthians vai entrar com a corda no pescoço. O Sylvinho vai ter todos os jogadores à disposição e ele vai ter que colocá-los para jogar. Se ele conseguir um resultado positivo, vai dar praticamente um mês de trabalho mais tranquilo. Agora, se houver um tropeço, as coisas vão se complicar ainda mais", finalizou.

Ouça o podcast UOL Corinthians e confira o bate-papo com Amaral, que também comparou o elenco atual do Timão aos de Flamengo, Atlético-MG e Palmeiras.

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts e em todas as plataformas de distribuição de áudio. Você pode ouvir UOL Corinthians, por exemplo, no Spotify, Apple Podcasts, Google Podcasts, Amazon Music e YouTube.