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

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Como provável ida de Mbappé ao Real pode prejudicar evolução de Vinícius Jr

Vinícius Júnior pode perder espaço no Real Madrid se Kylian Mbappé for contratado - Eric Alonso/Getty Images
Vinícius Júnior pode perder espaço no Real Madrid se Kylian Mbappé for contratado Imagem: Eric Alonso/Getty Images

27/08/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Três gols nas duas primeiras partidas do Campeonato Espanhol, elogios vindos de todos os lados e a certeza de que é hoje a primeira opção do banco do Real Madrid para tentar resolver jogos complicados.

Vinícius Júnior não tem do que reclamar do seu começo de temporada. Só que todo esse cenário de paz e prosperidade vivido pelo brasileiro pode sofrer um pesado baque nos próximos dias.

Se o Real conseguir mesmo realizar o sonho de tirar Kylian Mbappé do Paris Saint-Germain ainda nesta janela de transferências, o jovem garoto brasileiro de 20 anos tem tudo para ser o maior prejudicado. E sua evolução ficará seriamente ameaçada.

O primeiro e principal motivo será o aumento de opções (e consequente diminuição de oportunidades/minutos) justamente no setor de campo que Vinícius Júnior ocupa: o ataque pelos lados.

Como Karim Benzema é peça indispensável para o funcionamento do Real, Mbappé raramente será utilizado como centroavante em Madri. Assim, ele certamente será escalado aberto pela direita ou na ponta esquerda.

Neste começo de temporada, estão sendo utilizado nesses espaços são o belga Eden Hazard e o galês Gareth Bale. Quando todos estiverem em condições de jogo, um deles terá necessariamente de ficar no banco. E o brasileiro virará uma espécie de "reserva do reserva".

Para piorar a situação de Vinícius Júnior, seu estilo de jogo é muito parecido com o do astro que o Real deseja contratar. O camisa 20 e Mbappé são atacantes de muita velocidade, que se destacam nas jogadas individuais e não contribuem tanto assim com a recomposição defensiva.

Por isso, não será muito comum vê-los em campo ao mesmo tempo. E o brasileiro, que é visto hoje no elenco madrileno como a principal opção para abrir à base do drible defesas adversárias que estão bem compactas, perderá esse status.

Revelado na base do Flamengo, Vinícius Júnior está no Real desde que completou a maioridade, em 2018. Ao longo dessas três últimas temporadas, disputou 120 partidas, marcou 17 gols e distribuiu 23 assistências.

Já Mbappé está no último ano do seu contrato com o PSG e poderá mudar de clube sem nenhum pagamento de indenização aos ses no próximo ano. Para evitar perdê-lo de graça, os parisienses decidiram sentar para conversar com a diretoria do Real sobre uma transferência imediata.

A primeira proposta feita pelos espanhóis, de 160 milhões de euros (R$ 987 milhões), foi prontamente recusada. De acordo com o jornal espanhol "Marca", a segunda oferta, de 170 milhões de euros (mais de R$ 1 bilhão), teve destino diferente e convenceu o time de Lionel Messi, Neymar e Marquinhos a liberar o jogador.

O tempo para contratar Mbappé ainda neste semestre está acabando. A janela de transferências das principais ligas nacionais da Europa termina na próxima terça-feira, 31 de agosto. Depois, só reabre em janeiro.

Maior campeão espanhol da história com 34 títulos (o último conquistado em 2020), o Real ou em branco na temporada ada. No campeonato nacional, onde ficou mais perto de levantar a taça, foi vice e terminou a dois pontos do Atlético de Madri.

Já em 2021/2022, a equipe agora dirigida pelo italiano Carlo Ancelotti soma uma vitória (4 a 1 sobre o Alavés) e um empate (3 a 3 com o Levante). Só Sevilla e Atleti têm 100% de aproveitamento depois da disputa das duas primeiras rodadas da La Liga.

O próximo compromisso do Real será amanhã (28), contra o Betis, fora de casa. Também neste fim de semana, o Barcelona recebe o Getafe, e o Atlético joga no seu estádio contra o Villarreal. Essas duas partidas serão no domingo.