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

Perrone

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Estafe de Pedrinho prefere esperar janela de verão na Europa

Pedrinho fica no gramado na partida entre Shakhtar Donetsk e Inter de MIlão pela Champions - Stanislav Vedmid/DeFodi Images via Getty Images
Pedrinho fica no gramado na partida entre Shakhtar Donetsk e Inter de MIlão pela Champions Imagem: Stanislav Vedmid/DeFodi Images via Getty Images

17/03/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O estafe de Pedrinho concluiu que o melhor para o jogador é um novo contrato na próxima janela de transferências de verão dos principais mercados da Europa (a partir do início do segundo do semestre).

Fonte no entorno do atleta revelado pelo Corinthians afirmou à coluna que o meia-atacante recebeu consultas de europeus, mas não vai aproveitar a janela especial idealizada pela Fifa até 7 de abril para estrangeiros que atuam na Ucrânia e na Rússia, países em guerra. A abertura precisa ser avalizada pela federação de cada país.

A entidade suspendeu até 30 de junho os contratos dos estrangeiros que estavam na Ucrânia e estabeleceu regras para o mesmo acontecer com quem está ligado a clubes russos.
Vinculado ao Shakhtar Donetsk, Pedrinho poderia por empréstimo até o fim de junho sem que o novo clube tenha de negociar com o time ucraniano.

O discurso do estafe do ex-corintiano é de que será melhor contrato no meio do ano para que o atleta possa fazer a pré-temporada com o novo clube, evitando atropelar o calendário.

Desde que o período especial de transferências foi anunciado, o entorno de Pedrinho criticou veladamente a decisão. A avaliação é de que o período de três meses de empréstimo é curto. E, assim, não é atraente para clubes e jogadores.

O problema é que para aproveitar a janela de verão é necessário um acordo com o Shakhtar para venda ou empréstimo. A menos que a Fifa prorrogue a suspensão dos contratos.

Pedrinho chegou a entrar no radar de Botafogo, Corinthians e São Paulo, mas nada avançou até aqui.

Vale lembrar que a Premier League (primeira divisão da Inglaterra) já decidiu que não utilizará a janela extraordinária.