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

OPINIÃO

Rescisões de Pablo e Vitor Bueno devem sair em até dez dias, diz Belmonte

Do UOL, em São Paulo

21/01/2022 16h27

A agem de Pablo e de Vitor Bueno pelo São Paulo está perto do fim. Os atacantes estão com as rescisões contratuais encaminhadas com o clube. De acordo com Carlos Belmonte, diretor de futebol do Tricolor, a situação da dupla deve estar resolvida em, no máximo, dez dias.

Na Live do São Paulo, programa do UOL Esporte com as últimas novidades do Tricolor no mercado da bola, os jornalistas Marcelo Hazan e Menon entrevistaram o dirigente são-paulino. Belmonte explicou como está a situação dos dois jogadores, que não fazem parte dos planos são-paulinos para a temporada.

  • De segunda a sexta, às 17h, o Canal UOL traz, ao vivo, as últimas informações do mercado da bola. Inscreva-se no YouTube de UOL Esporte e confira também as lives dos clubes, Posse de Bola e UOL News Esporte:

"Não houve acerto para o empréstimo. Houve uma proposta muito boa para que o Pablo fosse para o Ceará, mas ele não quis ir. Depois, tivemos uma proposta do Santos, mas ele também preferiu não ir. Então nós caminhamos para uma rescisão para que ele possa seguir a carreira dele da melhor maneira possível, porque é um profissional sério e correto. Apenas não está fazendo parte dos nossos planos nesse momento. É a mesma situação do Vitor Bueno. No decorrer da próxima semana, no máximo em dez dias, teremos essa situação solucionada", revelou Belmonte.

Pablo se tornou a contratação mais cara da história do São Paulo: 7 milhões de euros. Em campo, porém, o atacante não repetiu as mesmas atuações que fizeram dele um dos destaques do Athletico na conquista do título da Copa Sul-Americana em 2018. Para piorar, o gol perdido no clássico contra o Palmeiras, pelas quartas de final da última edição da Libertadores, esgotou a paciência da torcida.

O Ceará se interessou em contratá-lo, mas o atacante não respondeu à proposta e o clube desistiu da negociação. Pouco depois, em episódio semelhante, as conversas com o Santos fracassaram. Pablo gostaria de voltar ao Athletico, e o Furacão deve mesmo ser seu provável destino.

Belmonte reforçou que a dupla está fora dos planos do Tricolor e que a situação dos jogadores será resolvida em breve. "[As rescisões] Estão caminhando de forma amigável. Temos que separar as coisas. O Pablo e o Vitor Bueno nunca nos causaram nenhum tipo de problema aqui no dia a dia. São profissionais e cumpridores de suas tarefas. Havia uma decisão institucional de que precisávamos reformular o elenco, e de que Pablo e Vitor Bueno deveriam sair naquele momento, talvez por empréstimo, para outra equipe", completou.

Não perca! A próxima edição da Live do São Paulo será na quinta-feira (27), logo após a partida contra o Guarani na estreia no Paulistão. Você pode acompanhar o programa pelo Canal UOL, no app Placar UOL, na página do São Paulo no UOL Esporte ou no canal do UOL Esporte no Youtube.