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

OPINIÃO

Vitor Guedes: Corinthians ficar indiferente no caso Robson Bambu é chocante

Do UOL, em São Paulo

03/05/2022 14h06

Após o relato exclusivo ao UOL Esporte da jovem que acusa de estupro o jogador Robson Bambu, do Corinthians, Vitor Guedes questiona a falta de um posicionamento do clube, que defende bandeiras como o 'Respeita as Minas', mas que até o momento manteve o zagueiro integrado ao elenco, inclusive na delegação que viajou à Colômbia para enfrentar o Deportivo Cali, amanhã (4), pela Libertadores.

No UOL News Esporte, o jornalista cita o afastamento de Danilo Avelar por um caso de racismo e questiona por que o Corinthians dá um tratamento diferente em um caso em que há uma investigação de violência contra a mulher.

"Teve um caso de comportamento racista do Danilo Avelar em uma rede social e o Corinthians afastou ele imediatamente e aí eu entendo, sem ser advogado, que o Corinthians não podia rescindir o contrato e deixar de pagar porque o Corinthians não é a Justiça, não pode punir um jogador por estupro ou por racismo, até porque seria condenado depois a pagar os salários. Moralmente, o Corinthians afastou o Danilo Avelar", diz Vitão.

"Eu queria entender a diferença, por que no caso do Robson Bambu ele voltou a ser relacionado e joga normalmente até a Justiça se posiciona. Por que no caso do Bambu ele voltou a ser relacionado? Eu acho que o mínimo que o Corinthians deveria fazer esportivamente é afastar o jogador", completa.

O jornalista afirma que há um grande impacto institucional para o Corinthians e vê a campanha que pede respeito às mulheres ficar dando mostras mais de marketing do que de um posicionamento real do clube.

"A perda institucional do clube ao apoiar essa ação, ao ficar indiferente é chocante, ainda mais em um clube que, como muitos, o Corinthians faz muitas campanhas que me parecem marketing mais do que sinceridade, que é o tal do 'respeite as minas', o 'time do povo'. O time do povo que a camisa custa R$ 600, escreve lá 'time do povo', 'respeita as minas' com um conselheiro que falou um monte de bobagens e no conselho am pano e ele, o Mané da Carne, estou dizendo aqui, não é condenado", afirma Vitão.

"A mensagem que ou para mim é que crime contra a mulher é menos grave que crime racial e eu não acho que crime racial não seja grave, eu só não entendo essa diferença, eu gostaria que no mínimo o Robson Bambu não estivesse em Cali com a delegação do Corinthians, é isso o que eu espero", conclui.