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

Danilo Lavieri

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Discurso de Caboclo no vestiário causa vergonha em atletas e comissão

Rogério Caboclo, presidente da CBF, causou constrangimento no vestiário - Lucas Figueiredo/CBF
Rogério Caboclo, presidente da CBF, causou constrangimento no vestiário Imagem: Lucas Figueiredo/CBF

Colunista do UOL

05/06/2021 12h43Atualizada em 05/06/2021 19h39

Receba os novos posts desta coluna no seu e-mail

Email inválido

O presidente da CBF (Confederação Brasileira de Futebol), Rogério Caboclo, segue se complicando na crise que começou com componentes políticos e se estendeu até o vestiário da seleção brasileira. Ontem (4), foi a vez de o dirigente causar constrangimento na delegação momentos antes de a bola rolar contra o Equador.

Aparentemente alcoolizado, ele tentou fazer um discurso para incentivar os atletas e não conseguiu nenhuma palavra em troca. De acordo com o que ouviu o blog, todos os envolvidos olhavam para o chão para evitar contato visual com o cartola. Ele chegou a forçar contato com apertos de mão e abraços e foi retribuído quase que por educação, inclusive horas antes do jogo no gramado do Beira-Rio, quando câmeras puderam captar alguns momentos.

Como mostrou mais cedo o site "ge", o cartola participou da preleção, mas nem foi ao hotel em que o time estava concentrado por conta da denúncia de assédio sexual e moral que foi protocolada na Comissão de Ética da CBF por uma funcionária. O que mais incomodou é que ele fez todo o seu discurso como se nada disso estivesse acontecendo, tentando ar uma tranquilidade impossível de existir em uma situação como essa.

Além dos atletas e membros da comissão técnica, estavam no vestiário Clodoaldo, que foi tri na Copa de 1970 e é o chefe de delegação, Cafu, capitão do penta, além de Taffarel e Juninho, que também foram campeões do mundo e hoje são contratados da CBF. Gilberto Silva esteve no estádio, assistiu ao jogo de um camarote, mas não foi ao vestiário.

"Ele conseguiu piorar o que a gente achava que não ia piorar", foi o relato de uma das pessoas que estavam no discurso. "Já tínhamos ouvido falar sobre ele aparecer frequentemente alcoolizado, especialmente na sede da CBF, mas nunca tinha presenciado algo tão evidente no vestiário", completou outro ouvido pelo blog.

A reportagem tentou contato com Rogério Caboclo, mas não obteve retorno até a publicação deste texto. O cartola afirmou por meio de seus advogados que vai provar a inocência no caso da denúncia de assédio, mas ainda tem outros problemas para enfrentar.

Ele perdeu a sustentação política na entidade e agora ainda enfrenta um eventual boicote do grupo de jogadores à Copa América, competição que ele trouxe para o Brasil com apoio do Governo Federal. Há uma promessa de manifestação coletiva de todo o grupo sobre o tema após a partida de terça-feira, contra o Paraguai, pelas Eliminatórias da Copa.