;(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 - 2022/2023

Torcedores são suspensos e multados em R$ 340 mil por racismo a Vini Jr

Acompanhado de Militão e Rudiger, Vini Jr mostra manifestações racistas nas arquibancadas do Estádio Mestalla, em Valencia - Jose Breton/Pics Action/NurPhoto via Getty Images
Acompanhado de Militão e Rudiger, Vini Jr mostra manifestações racistas nas arquibancadas do Estádio Mestalla, em Valencia Imagem: Jose Breton/Pics Action/NurPhoto via Getty Images

Do UOL, em São Paulo (SP)

05/06/2023 12h19

Os sete torcedores espanhóis presos no mês ado por episódios de racismo contra Vinicius Junior receberam suas punições hoje.

O que aconteceu?

A Comissão Permanente contra Violência, Racismo, Xenofobia e Intolerância no Esporte da Espanha, se reuniu com o Conselho Superior de Esportes e decidiu que:

Os quatros presos pela simulação de enforcamento com um boneco que usava a camisa de Vini Jr em janeiro deste ano receberam multas de 60 mil euros (cerca de R$ 316 mil na cotação atual) e foram proibidos de ar recintos desportivos por um período de dois anos.

Já os outros três, presos pelos insultos racistas a Vini na partida entre Valencia e Real Madrid, receberam multas de 5 mil euros (cerca de R$ 26 mil) e foram proibidos de ar recintos desportivos por um período de um ano.

Quais são os episódios

Enforcamento de boneco

Em janeiro deste ano, um grupo de ultras do Atlético de Madri simulou o enforcamento de um boneco com a camisa de Vinicius Junior.

O boneco foi pendurado em uma ponte próxima ao centro de treinamento do Real Madrid com uma faixa com a frase: "Madri odeia o Real".

Insultos racistas da torcida do Valencia

No dia 21 de maio, torcedores do Valencia começaram a gritar 'mono', 'macaco' em espanhol, nos momentos em que o brasileiro esteve perto da lateral. O jogo estava nos 15' do segundo tempo.

10 minutos após o início dos gritos, o árbitro paralisou a partida depois que os torcedores repetiram o gesto.

O jogo foi interrompido por aproximadamente 5 minutos e foi necessário que o locutor do estádio pedisse para que os torcedores parassem por risco da partida ser encerrada.

Vinicius Junior começou a discutir com os torcedores do Valencia, e Ancelotti chamou o brasileiro no banco de reservas pedindo que ele se acalmasse. O brasileiro foi expulso após a reação.