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

La Liga - 2020/2021

Quem é Diakhaby, que saiu de campo após ser vítima de racismo na Espanha

Aos 24 anos, francês vive sua temporada mais sólida como zagueiro do Valencia - Alex Caparros/Getty Images
Aos 24 anos, francês vive sua temporada mais sólida como zagueiro do Valencia Imagem: Alex Caparros/Getty Images

Arthur Sandes

Do UOL, em São Paulo

05/04/2021 04h00

Mouctar Diakhaby vive sua temporada mais sólida no futebol espanhol, sendo titular do Valencia pelo terceiro ano seguido e estando na mira do PSG. No entanto, nada disso evitou que o zagueiro francês fosse vítima de racismo por parte de um adversário durante jogo contra o Cádiz, ontem (4), pelo Campeonato Espanhol.

Com meia hora de jogo, Diakhaby discutiu com o espanhol Juan Cala e se irritou com algo dito pelo adversário. Alegando racismo, o zagueiro e seus companheiros decidiram ir para o vestiário, mas mudaram de ideia pouco depois por temer uma punição. O Valencia voltou a campo sem Diakhaby, que se trocou e foi para a arquibancada. Juan Cala, por outro lado, continuou jogando normalmente.

Mouctar Diakhaby é filho de pais guineenses e o mais velho de seis irmãos. Ele cresceu na região de Nantes, na França, e diz ter sido um garoto "quieto, nada turbulento", mas que deixou a escola em segundo plano para se concentrar no futebol. ou um tempo nas categorias de base do Nantes FC, mas depois de um desentendimento com diretores optou por fazer testes em outros clubes e teve sucesso no Lyon.

Após estrear como profissional em setembro de 2016, Diakhaby voltou a Nantes dois meses depois, já como titular do Lyon. Quis o destino que marcasse seu primeiro gol ali, no Stade de la Beaujoire, a seis quilômetros do bairro pobre em que havia ado a infância.

"Eu convidei todo o mundo [para o jogo]. Então, quando marquei, tanta gente comemorou no estádio que até a comissão técnica do Lyon depois veio me dizer que nunca tinha visto aquilo. O estádio não estava lotado, então deu para ver e ouvir", lembrou o zagueiro em entrevista recente à revista sa Onze Mondial.

Naquela temporada, o Lyon foi até a semifinal da Liga Europa e caiu para o Ajax. "Só o fato de conhecer outros estádios europeus, em Roma, Istambul? foi ótimo", conta Diakhaby, mas a temporada seguinte trouxe novos desafios. Com novos reforços, ele voltou à reserva, e com um contrato prestes a expirar que terminou na transferência para o Valencia. "Pesando tudo, deveria ter me adaptado melhor", reconhece.

Diakhaby chegou à Espanha com grande prestígio, já como titular e se adaptando bem a um esquema de três zagueiros. De lá para cá, virou um dos pilares de um time que agora sofre a ausência de três destaques que vendeu —Rodrigo, Ferrán Torres e Kondogbia.

O zagueiro já esteve na mira do PSG no ano ado, mas o Valencia já avisou que não pretende negociá-lo. Seja como for, Diakhaby talvez esteja a uma transferência de ser cotado para a seleção sa. Ele diz não pensar nisso, nem na alternativa de defender a seleção de Guiné.

"Não estou pensando nisso agora. Meus pais são da Guiné, eu também sou da Guiné e vou à África regularmente, falo meu idioma e nunca esqueço das visitas que faço à vila [de meus pais]. Mas no momento não penso em qual seleção defender. Ainda tenho trabalho a fazer", diz o defensor.

O Valencia como um todo faz temporada ruim e tem sérios problemas financeiros. Com isso, está longe das competições europeias, discreto na Copa do Rei e um decepcionante (e até perigoso) 12º lugar no Espanhol. Mas nada disso é culpa de Diakhab, que faz sua campanha com mais minutos como titular —a maior parte deles ao lado do brasileiro Gabriel Paulista.