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

Rafael Reis

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.

Com mercado fechado na Europa, exilados da Ucrânia devem jogar no Brasil

Ex-Corinthians, Pedrinho é um dos principais jogadores do Shakhtar Donetsk - Getty Images
Ex-Corinthians, Pedrinho é um dos principais jogadores do Shakhtar Donetsk Imagem: Getty Images

28/02/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Os jogadores brasileiros que atuam na Ucrânia e conseguiram fugir do país invadido por tropas da Rússia podem ser "obrigados" a retornar para o futebol pentacampeão mundial para se manter em atividade durante a guerra.

Como o Campeonato Ucraniano foi suspenso e não tem nenhuma previsão de ser retomado nas próximas semanas, os atletas de clubes como Shakhtar Donetsk e Dínamo de Kiev que escaparam do conflito devem ser liberados ou emprestados a equipes de outros cantos do mundo para continuarem jogando.

A questão é que não são tantos lugares assim que estão aptos a receber esses atletas. A janela de transferências dos principais campeonatos nacionais do mundo, como o Inglês, o Espanhol e o Italiano, está fechada, o que impede que a chegada de reforços para os clubes desses países.

Mas isso não acontece no Brasil, que nem adota o sistema de janela, mas sim períodos para registro de contratos de jogadores que estavam no exterior. Neste primeiro semestre de 2022, a fase de inscrição de reforços oriundos de outros países vai até o dia 12 de abril.

Além da terra de Pelé, Garrincha, Ronaldo e Romário, poucos são os campeonatos nacionais minimamente relevantes no cenário internacional que ainda estão permitindo contratações para a atual temporada. Estados Unidos, China e Coreia do Sul são algumas dessas exceções.

No total, 30 jogadores nascidos no Brasil fazem parte dos elencos dos clubes da primeira divisão da Ucrânia. O Shakhtar é quem tem a maior comunidade verde e amarela, com 12 brasileiros, além do centroavante Júnior Moraes, originário de Santos, mas que se naturalizou e hoje joga pela seleção europeia.

Vários deles são bem conhecidos por aqui. O lateral esquerdo Ismaily já foi convocado pela seleção. Os meias Maycon e Pedrinho se destacaram no Corinthians. E o atacante David Neres foi uma das maiores revelações do São Paulo nos últimos anos.

O São Paulo, aliás, já ofereceu a estrutura dos seus centros de treinamento para os jogadores fugidos da Ucrânia manterem a forma pelo tempo que for necessário. Essa promessa não está vinculada a nenhuma obrigação desses atletas defenderem o clube do Morumbi.

Desde o início da guerra no Leste Europeu, na quinta-feira ada, os atletas brasileiros têm relatado dificuldades para conseguir sair do país. Um grupo chegou a caminhar a pé até a fronteira com a Polônia.

Já os jogadores mais conhecidos, principalmente aqueles que atuam no Shakhtar, gravaram um vídeo pedindo ajuda ao governo brasileiro para serem resgatados. Eles conseguiram pegar um trem e deixaram Kiev, a capital ucraniana.

Além das questões humanitárias e geopolítica, a invasão da Ucrânia pelo Exército russo virou um problema dos grandes também no cenário do futebol internacional.

Originalmente programa para ser disputada em São Petersburgo, uma das cidades mais importantes da Rússia, a final desta temporada da Liga dos Campeões da Europa já foi transferida para o Stade de , em Saint-Denis, nos arredores de Paris.

As seleções de Polônia, República Tcheca, Suécia, que estão na mesma chave da Rússia na repescagem das eliminatórias da Copa do Mundo, marcada para o fim do próximo mês, anunciaram que não aceitarão ir a campo contra o time do país de Vladimir Putin. Por enquanto, a Fifa apenas proibiu que os russos disputem partidas em casa, ouçam seus hinos nacionais e usem o nome da nação.

A Ucrânia, que também ainda está na briga por vaga no Qatar-2022, não deve enfrentar o mesmo tipo de restrição. No entanto, como boa parte dos seus jogadores atuam no próprio país, estão impedidos de atravessar a fronteira e ainda correm risco de ser convocados para lutar na guerra, pode ter dificuldades para conseguir montar uma equipe para medir forças com Escócia, Áustria e Gales.