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

Duílio explica solução rápida e se diz triste por Jô deixar o Corinthians

Jô em ação durante partida do Corinthians - Paulo Paiva/AGIF
Jô em ação durante partida do Corinthians Imagem: Paulo Paiva/AGIF

Colaboração par ao UOL, em São Paulo

15/06/2022 11h39

O presidente do Corinthians, Duílio Monteiro Alves, explicou como se deu o processo de rescisão de contrato de Jô após o jogador ser flagrado em uma festa e ter faltado ao treino no dia seguinte. Em entrevista ao canal do jornalista André Hernán, no YouTube, o dirigente disse que o pedido partiu do próprio atacante e que triste com a saída do ex-camisa 77 do clube.

"A rapidez [para resolver o caso] se deu, primeiro, por estar muito claro o que é aceitável e o que não é. E, segundo, pela vontade do Jô. Partiu dele esse pedido de rescisão imediatamente depois do ocorrido", afirmou Duílio. "Na solução tem muito do trabalho da diretoria de futebol com e seu estafe. Acho que a solução foi boa para todos, tanto para Jô como para o Corinthians", acrescentou.

" foi muito homem nesse sentido, foi o cara que ele sempre foi e mais uma vez ele mostrou isso. Ficamos muito tristes porque é um cara, primeiro que é um amigo, segundo que ele foi criado aqui dentro. Terceiro que é um ídolo da história do Corinthians e que podia nos ajudar muito ainda. Mas ele também entendeu que era o momento de parar, então por isso dessa solução rápida", completou o presidente do clube.

O atacante foi gravado em uma roda de samba na noite do dia 7 de junho, enquanto o Alvinegro paulista estava em campo na Arena Pantanal enfrentando o Cuiabá, pela 10ª rodada do Campeonato Brasileiro. O atacante não tinha viajado com a delegação corintiana por estar se recuperando de um trauma na perna esquerda.

No vídeo que viralizou nas redes sociais, Jô aparece em um bar tocando um instrumento de percussão com amigos. O local exibia a partida entre Corinthians e Cuiabá no telão e, no momento da gravação, o Timão já perdia por 1 a 0. Após o flagra, o jogador ainda se ausentou do treinamento do dia seguinte no CT Joaquim Grava.

Menos de 48 horas depois do início da polêmica, Jô e o Corinthians rescindiram amigavelmente o contrato, que tinha validade até o final do ano que vem. Na entrevista, Duílio comentou que, na maioria das vezes, a solução para a rescisão de contratos é uma novela longa, diferentemente do que aconteceu no 'Caso Jô'.

"Muitas vezes você tem um jogador sob contrato. E o que é legal deixar claro para o torcedor é que se você quiser mandar um jogador embora, você tem que pagar o [valor do] contrato inteiro. Então, muitas vezes isso não é possível, muitas vezes se arrasta por conta disso. O jogador não quer sair, o clube não quer mandar embora, alguém tem que pagar a multa? Então as coisas acabam não se resolvendo e atrapalhando o dia a dia", encerrou.

Com a rescisão amigável, Jô abriu mão de cerca de R$ 14 milhões. O valor corresponde aos 18 meses de vigência que ele ainda tinha de contrato, além do pagamento de 13º salário. O salário mensal do centroavante era de aproximadamente R$ 700 mil.

Cria do terrão do Parque São Jorge, o centroavante somou 284 jogos com a camisa do Corinthians e marcou 65 gols, sendo o artilheiro do clube no século e também da Neo Química Arena, com 30 gols. Além disso, Jô é o único artilheiro do clube na história do Campeonato Brasileiro, feito alcançado na campanha do título em 2017.

Corinthians