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

FPF e CBF ignoraram governador Zema ao tentar articular jogos em MG

Guilherme Piu, Marcel Rizzo e Thiago Fernandes

Do UOL, em São Paulo

17/03/2021 04h00

Ao buscar refúgio para suas competições em cidades de Minas Gerais, tanto a Federação Paulista de Futebol (FPF) como a Confederação Brasileira de Futebol (CBF) recorreram diretamente aos respectivos prefeitos. O governador Romeu Zema foi ignorado durante a articulação e, ontem, anunciou um decreto que proíbe a realização de partidas de times de outros estados dentro das fronteiras mineiras.

A assessoria de Zema e integrantes da Secretaria de Estado de Saúde de Minas Gerais confirmaram à coluna que o governo não foi procurado por representantes das entidades para conversar sobre essas partidas. Justamente quando preparava a expansão da chamada "onda roxa" para todo o estado, permitindo apenas o funcionamento de serviços essenciais nos próximos 15 dias, a partir de hoje.

Também foram envolvidos nas conversas a Federação Mineira de Futebol (FMF) e o deputado federal Marcelo Aro (PHS-MG), que é diretor de relações institucionais da CBF. Pelo menos duas cidades mineiras receberiam jogos grandes competições sem envolver clubes locais: Varginha (Marília-SP x Cricíuma, pela Copa do Brasil) e Belo Horizonte (São Bento x Palmeiras, pelo Paulistão), em meio à pandemia do novo coronavírus. O primeiro jogo foi deslocado para Cariacica-ES. O segundo ainda não tem novo local ou data definidos.

Mutirão da CBFagora se volta a Cariacica-ES e Goiânia

A procura pelo prefeito de Belo Horizonte, Alexandre Kalil, se explica pelos amplos laços que o mandatário tem com dirigentes brasileiros, após ter sido presidente do Atlético-MG. Marcelo Aro, de todo modo, buscou outras cidades antes de o governo mineiro se pronunciar. Entre elas, Varginha, cujo prefeito, Vérdi Lúcio Melo, decidiu não seguir o plano estadual para aplacar os efeitos da pandemia. A partida de hoje entre Marília e Criciúma, porém, teve de ser redirecionada para Cariacica (ES), cidade que é vista como um "porto seguro" para eventos da CBF no país. Amanhã (18) ela também vai receber o confronto paulista entre Mirassol e Red Bull Bragantino, também pela Copa do Brasil. Goiânia também vai acolher partidas de eventos da CBF numa rede de apoio que a entidade tenta armar no país. (Por Marcel Rizzo)

Governo ainda não cogita interromper jogos de futebol no Estado do Rio

Em meio ao caos provocado pela proibição dos jogos de futebol em São Paulo, o Rio de Janeiro ainda não cogita interromper as disputas em curso. O Governo do Estado acompanha a evolução da pandemia, mas os campeonatos não estão na mira por enquanto. No último decreto do governador Cláudio Castro, novas medidas de contenção e prevenção à covid-19 foram listadas. Em caso de piora radical na situação, a questão será novamente colocada em debate. (Por Leo Burlá)

Botafogo define CEO e adota cautela antes de anúncio

O Botafogo já tem definido quem será o CEO e o anúncio pode ocorrer ainda esta semana. O clube trata o nome com cautela para evitar novos contratempos, como o que aconteceu com os recentes vazamentos de candidatos analisados. O cargo é apontado como peça importante no processo de reestruturação que a diretoria quer implementar. "O processo está, basicamente, na etapa final. Já temos tudo definido. Estamos discutindo as minutas finais", disse Lúcio Daniel, da Exec, empresa que auxilia o Alvinegro na escolha. (Alexandre Araújo e Bernardo Gentile)

Palmeiras libera Abel Ferreira para semana de entrevistas

De férias em Portugal com a sua família, o técnico do Palmeiras Abel Ferreira está, nesta semana, realizando uma série de entrevistas exclusivas para veículos de comunicação brasileiros. O fato faz parte de um acordo entre a direção do clube com o treinador, atender a uma longa lista de demandas da mídai —desde que chegou ao Brasil, em outubro, Abel Ferreira só falava em coletivas. A primeira conversa foi para veículos do Grupo Globo ontem (16). Depois, Abel gravou a edição do programa "Bola da Vez", da ESPN Brasil, que vai ao ar sábado (20). Nesta quarta (17), Abel conversa com o UOL Esporte. Um bate-papo com a Band acontecerá ainda nesta semana. (Por Gabriel Vaquer)