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

Carioca - 2022

TJD-RJ aceita pedido do Fluminense e vai apurar racismo contra Gabigol

Gabigol, atacante do Flamengo, aponta ter sido chamado de "macaco" por torcedores do Fluminense - Reprodução Twitter
Gabigol, atacante do Flamengo, aponta ter sido chamado de "macaco" por torcedores do Fluminense Imagem: Reprodução Twitter

Alexandre Araújo e Leo Burlá

Do UOL, no Rio de Janeiro (RJ)

08/02/2022 22h49

O Tribunal de Justiça Desportiva do Rio de Janeiro (TJD-RJ) aceitou, na noite de hoje (8), o pedido do Fluminense e abriu inquérito para apurar a denúncia de racismo contra o atacante Gabigol, do Flamengo, no clássico do último domingo.

Após o duelo, o camisa 9 rubro-negro divulgou em uma rede social um vídeo em que aponta ter sido chamado de "macaco" ao deixar o gramado. Em outra publicação, feita posteriormente, questionou a Federação de Futebol do Rio de Janeiro (Ferj): 'até quando isso vai acontecer sem punição?'.

No despacho, Renata Mansur Fernandes Bacelar, presidente do TJD-RJ, pede que seja "oficiado o Estádio Nilton Santos para encaminhar a este Tribunal as imagens do circuito interno de segurança da data do jogo e consequente instauração de inquérito para a apuração de existência ou não de infração disciplinar desportiva, na forma do artigo 81 do CBJD".

TJD-RJ aceitou pedido do Fluminense e vai apurar racismo contra Gabigol, do Flamengo - Reprodução - Reprodução
Imagem: Reprodução

"Diante das alegações contidas na peça apresentada a esta presidência, determino a instauração de inquérito, na forma do artigo 81 do CBJD, para apurar os fatos narrados pelo denunciante; diga-se, de louvável iniciativa", escreve Renata, em outro trecho da decisão

Ontem (7), André Valentim, procurador do TJD-RJ, em entrevista ao UOL Esporte, apontou que o material disponível ainda era inconclusivo e que aguardaria novas provas que ajudassem a identificar eventuais envolvidos. O ato racista foi flagrado pela jornalista Isabelle Costa.

"Sem imagem não tem como denunciar. Gritaram "macaco", mas como vou denunciar sem ver de onde veio? Vou esperar para ver se aparece mais alguma informação nova", disse.

Logo após a partida, o Flamengo emitiu uma nota oficial dando apoio ao camisa 9. A Ferj também se manifestou, e afirmou que "lamenta e repudia as ofensas dirigidas ao atleta Gabriel Barbosa, do Flamengo", e lembrou que a "competência para avaliar o caso é do Tribunal de Justiça Desportiva-RJ".

Ainda na noite do clássico, o Fluminense emitiu um comunicado afirmou que "está apurando o episódio". O Tricolor, por outro lado, ressalta que "o próprio autor da divulgação do vídeo diz que teve a impressão, sem certeza, de ter ouvido as supostas ofensas e, neste sentido, o Fluminense informa que está buscando as imagens do estádio a fim de auxiliar na apuração da existência ou não do fato e na identificação de eventual autoria". Por fim, o clube das Laranjeiras reiterou "que considera intolerável qualquer tipo de preconceito".