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

Notícias em primeira mão dos bastidores do futebol, informações exclusivas sobre o seu time, novidades do mercado da bola e o melhor do jornalismo esportivo em um só lugar. Só para s UOL!

CBF aguarda aval do governo para usar parte de vacinas doadas pela Conmebol

23.jun.2021 - Dose da vacina da fabricante Sinovac (Coronavac)  - Fabrício Costa/Estadão Conteúdo
23.jun.2021 - Dose da vacina da fabricante Sinovac (Coronavac) Imagem: Fabrício Costa/Estadão Conteúdo

Igor Siqueira

Do UOL, no Rio de Janeiro

22/07/2021 04h00

A CBF está na expectativa de receber nos próximos dias o aval do Ministério da Saúde para utilizar parte das 20 mil vacinas doadas pela Conmebol ao Brasil. Pelos cálculos da entidade, o futebol usará 5.480 doses, destinadas para completar os times que faltam da Série A, a inclusão da Série B, além dos 16 times que estão no mata-mata das Séries A1 e A2 do Brasileirão Feminino. As 14.520 doses restantes serão usadas pelo governo federal como bem entender.

Para chegar ao número de 5.480 doses, a CBF recebeu uma relação dos clubes das pessoas habilitadas para a vacinação. A entidade não fará as aplicações. Sob posse dos nomes, a CBF enviou ao Ministério da Saúde quem ará a ter direito ao imunizante e, em cada estado, decretos serão publicados com esse aval. A decisão de vacinar só oito times de cada uma das duas divisões do feminino é porque os times eliminados não voltarão à ativa tão cedo.

A perspectiva é que o curso normal do plano nacional de imunização atinja o contingente que não entrou na leva das doses doadas pela Conmebol. A entidade sul-americana destinou as vacinas ao Brasil "em solidariedade" por ter recebido a Copa América.

Futuro de Caboclo na CBF pode ser definido em assembleia no dia 3 de agosto

A cúpula da CBF já sinalizou a algumas federações que deve abrir a partir de 3 de agosto a Assembleia Geral para definir o futuro do presidente afastado, Rogério Caboclo. O dirigente é alvo de uma denúncia de assédio moral e sexual na Comissão de Ética do Futebol Brasileiro. O caso no momento está sendo conduzido pela Câmara de Investigação do órgão e tende a avançar para a Câmara de Julgamento. Com o veredito, as federações irão votar se confirmam ou não o afastamento definitivo de Caboclo. Com a Assembleia Geral aberta, a ideia é resolver com celeridade o caso do presidente afastado, imediatamente após o veredicto da Comissão de Ética.(Por Igor Siqueira)

De olho em público, CBF vai ao DF observar operação em jogo do Fla

De olho na volta gradativa de público aos estádios, a CBF enviou um observador para o Mané Garrincha, local da partida entre Flamengo e Defensa y Justicia. O funcionário do departamento de competições da entidade ficou encarregado de acompanhar de perto a operação e manter contato estreito com os rubro-negros responsáveis pelo evento. A CBF formou uma comissão interna para debater o tema e mira as quartas de final da Copa do Brasil como a oportunidade de promover o retorno gradativo dos torcedores. (Por Leo Burlá)

Agência carioca dará folga a cada ouro olímpico do Brasil

Apaixonados por Olimpíadas, os responsáveis pela agência Twelve Marketing, Gustavo Ralha e Bryan Clem, resolveram incentivar os funcionários a vibrar com o Brasil de uma maneira diferente. Além de um kit personalizado para aguentar a madrugada de transmissões e torcerem ainda mais pelo ouro olímpico, a agência decidiu dar um dia de folga para cada ouro conquistado pelo Brasil. O kit conterá energéticos e outros "mimos" temáticos relacionados ao maior evento esportivo do mundo. (Por Bruno Braz)

Inter indica ex-secretário da Fazenda do RS para Liga

O representante do Internacional na comissão de ativos da nova liga de clubes brasileiros é Aod Cunha, ex-secretário da Fazenda do Governo do Rio Grande do Sul na gestão de Yeda Crusis. Mesmo sem fazer parte da diretoria, ele foi indicado pelo clube gaúcho pela expertise em economia e mercado financeiro. (Por Jeremias Wernek)