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

Futebol russo deve sofrer debandada; veja os brasileiros que jogam por lá

Yuri Alberto acabou de chegar na Rússia, mas pode ir embora logo logo - Divulgação/Zenit
Yuri Alberto acabou de chegar na Rússia, mas pode ir embora logo logo Imagem: Divulgação/Zenit

03/03/2022 04h20

Receba os novos posts desta coluna no seu e-mail

Email inválido

Campeão brasileiro com o Corinthians em 2017 e convocado duas vezes para a seleção, o zagueiro Pablo está de saída do Lokomotiv Moscou.

O defensor pediu para deixar a Rússia por se sentir inseguro na região depois que o país de Vladimir Putin invadiu a Ucrânia, comprou briga com o Ocidente e ou a ser alvo de sanções vindas de boa parte do mundo.

A decisão tomada pelo jogador de 30 anos ainda é um caso raro, uma exceção entre os jogadores no meio do futebol russo. Mas que tem boas chances de se tornar regra ao longo das próximas semanas e meses.

Por conta da guerra no Leste Europeu, é bem provável que os atletas estrangeiros (são 132 apenas na primeira divisão) que tiverem condições contatuais de ir embora da Rússia nesta reta final de temporada ou na próxima janela de transferências acabem exercendo essa opção.

O motivo mais óbvio é a insegurança que um conflito armado traz. Ainda que eles vivam no país que está agredindo seu vizinho, nada garante que, com o desenrolar dos combates, o território russo também não acabe virando alvo de bombardeios dos seus inimigos.

Mas, mesmo que os horrores da guerra não batam em suas portas, há uma outra questão importante que já começa a tirar o sono dos atletas que jogam futebol profissionalmente na Rússia.

As inúmeras sanções econômicas e esportivas sofridas pelo país de Putin em represália à invasão iniciada há uma semana geraram uma grande incerteza sobre a viabilidade de os jogadores continuarem por lá.

O "Blog do Rafael Reis" apurou com pessoas próximas a alguns dos brasileiros que atuam na Premier League russa que eles temem que os clubes comecem a ficar sem dinheiro nos próximos meses para cumprir com suas obrigações básicas, como atrasar salários, devido aos vários bloqueios e boicotes feitos pelas nações do Ocidente.

Outra questão que preocupa os jogadores é o afastamento das competições europeias, como a Liga dos Campeões, que são o principal holofote para que eles consigam transferências para outros mercados mais importantes da Europa.

No começo da semana, a Fifa e a Uefa decidiram suspender por tempo indeterminado a seleção e os clubes da Rússia de todas as competições oficiais organizadas pelas duas entidades.

Com isso, os russos serão automaticamente eliminados da repescagem das eliminatórias da Copa do Mundo (brigariam por uma vaga no Qatar-2022 com Polônia, Suécia e República Tcheca) e seus times não poderão disputar Champions, Liga Europa e Conference League. Restará a essas equipes participar somente de campeonatos e copas nacionais, um enorme prejuízo esportivo e financeiro.

No total, 16 jogadores brasileiros disputam a primeira divisão do Campeonato Russo nesta temporada. O clube com mais representantes do futebol pentacampeão mundial é o Zenit São Petersburgo, com cinco atletas.

A equipe de Claudinho, Douglas Santos, Malcom, Wendel e Yuri Alberto é também a líder da Premier League, com 41 pontos conquistados em 19 rodadas. O Dínamo Moscou, que tem 39, ocupa a segunda colocação.

Brasileiros na 1ª divisão russa

Zenit São Petersburgo: Claudinho, Douglas Santos, Malcom, Wendel e Yuri Alberto
CSKA Moscou: Bruno Fuchs e Mário Fernandes*
Lokomotiv Moscou: Guilherme* e Pablo
Sochi: Joãozinho* e Rodrigão
Khimki: Bruno Viana
Krasnodar: Kaio e Wanderson
Krylya Sovetov: Fernando Costanza
Spartak Moscou: Ayrton Lucas

*jogadores nascidos no Brasil, mas que são naturalizados russos