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

Pai de Willian revela interferência em acerto: 'Ele me deu esse presente'

Meio-campista Willian é anunciado como reforço do Corinthians - Divulgação/SC
Meio-campista Willian é anunciado como reforço do Corinthians Imagem: Divulgação/SC

Colaboração para o UOL

31/08/2021 12h50

A torcida corinthiana já está ansiosa para receber Willian e vê-lo em campo novamente com a camisa alvinegra. Mas, certamente, tem um torcedor em especial que está comemorando muito esse retorno: Severino Vieira, pai do jogador.

Assumidamente torcedor do Corinthians, Severino, inclusive, chegou a tentar disputar eleições para conselheiro do clube em 2020, mas foi impedido. Desde que as negociações começaram a avançar, Severino não escondia que, se dependesse dele, o filho voltaria ao Corinthians.
Nas redes sociais, o pai do jogador encheu seu perfil com fotos de Willian nos tempos de Corinthians e aumentou as esperanças da torcida pelo acordo, que foi confirmado ontem.

Em entrevista ao vivo no programa "Jogo Aberto", da Band, Severino disse estar recebendo "um presente" do filho e que voltar ao Corinthians coloca o meia atacante novamente no radar da seleção. "Quem não quer estar na seleção? No Arsenal, acho que não teria essa possibilidade. Então a gente optou, conversei com ele bastante e ele me deu esse presente. Ele só está no Corinthians por causa de mim", disse, em tom de brincadeira.

Em seu Instagram, Severino "entregou" mais um segredo: posou segurando a camisa do Corinthians, com o nome de Willian e o número 10 nas costas.

Severino revelou ainda que era "cobrado" pela torcida para trazer Willian de volta e afirma: o jogador abriu mão de muito dinheiro para voltar. "Esse sonho é de muito tempo. Por várias vezes a turma me cobrava 'traz seu filho' e eu falei: 'o dia que o Corinthians quiser ele está aí'. O Corinthians quis agora, conseguiu neste momento e agora estamos aqui, inclusive para mostrar que dinheiro não é tudo. Ele (Willian) rescindiu um contrato bom, se fosse por causa de dinheiro, ficaria lá. Mas jogar no Corinthians não tem preço", declarou.

Willian é o quinto reforço confirmado do Corinthians na atual janela de transferências. Giuliano, Renato Augusto, Roger Guedes e o goleiro Carlos Miguel já foram anunciados. João Pedro, lateral de 24 anos, deve nos próximos dias. Questionado pela apresentadora Renata Fan, Severino afirmou que as contratações empolgaram Willian para optar pelo retorno. "Todos que estavam lá, de repente são bons jogadores, mas não encaixaram no Corinthians. Não que quem está lá seja ruim. Isso é bom para todo mundo saber que o time não é um só, é um elenco. Como existe o craque que mete a bola de três dedos, tem o zagueiro que tira de bico", disse Severino, arrancando risadas de Renata e Denilson.

Depois de rescindir o contrato com o Arsenal, da Inglaterra, o meia atacante Willian foi anunciado, no mesmo dia, pelo Corinthians. 14 anos depois de sair, rumo ao Shaktar Donetsk, da Ucrânia, Willian retorna para o Parque São Jorge, onde foi revelado. A empolgação da torcida foi geral, e Willian ficou entre assuntos mais comentados do Twitter durante todo o dia de ontem (30/08).