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

Presidente da CBF propõe que racismo gere perda de um ponto no Brasileirão

Ednaldo Rodrigues, presidente da CBF, no seminário de combate ao racismo - Lucas Figueiredo/CBF
Ednaldo Rodrigues, presidente da CBF, no seminário de combate ao racismo Imagem: Lucas Figueiredo/CBF

Do UOL, no Rio de Janeiro

24/08/2022 11h39

Em seminário da CBF sobre racismo, o presidente da entidade, Ednaldo Rodrigues, defendeu que o caso de manifestação racista de um torcedor gere perda de pelo menos um ponto no Brasileiro. Sua proposta será feita ao Conselho Técnico das divisões nacionais. Os clubes, então, decidirão se incluirão a medida no regulamento da competição. Já existe previsão de pena esportiva por racismo na legislação esportiva, mas é aplicado em casos de atos coletivos da torcida.

Há ainda um grupo formado por membros do Congresso, CNJ (Conselho Nacional de Justiça) para discutir alterações na legislação, isto é, no código de justiça desportiva.

"Sou democrático e quero que essa pena seja discutida no tribunal. Não é dar uma canetada e ser um ditador. Mas acho importante mobilizar contra o racismo, porque não há mais espaço para racista no século XXI", disse Rodrigues.

"Acho que é interessante mobilizar contra o racismo. Não há espaço para racismo na competição. Vou fazer uma proposta nesse sentido na reunião do conselho técnico das competições ano que vem. Vou pedir que o clube que tiver um torcedor envolvido em ato de racismo, perca pelo menos um ponto na competição:, completou Rodrigues.

O CBJD (Código Brasileiro de Justiça Desportiva) já prevê punição desportiva para clubes por casos de racismo. Mas, pelo entendimento do tribunal, isso só ocorre em casos graves. No caso, só manifestações coletivas de racismo da torcida levam à sanção esportiva, como ocorreu com o Grêmio na Copa do Brasil.

A proposta da CBF poderia ser incluída no regulamento do Brasileiro pela declaração de Rodrigues. Isso depende do aval dos clubes.

"Em campeonatos tão disputados, isso pode definir o título ou uma vaga a um torneio continental ou até um rebaixamento. Acredito que só assim as coisas vão mudar", completou o dirigente.

O evento de hoje (24) conta com a participação do presidente da Conmebol, Alejandro Domínguez, que lembrou o aumento do valor das multas aplicadas mediante a casos de discriminação nos torneios sul-americanos.