;(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 atende pedido e antecipa R$ 22 milhões a Grêmio e Palmeiras

Alisson, do Grêmio, e Gabriel Menino, do Palmeiras, disputam bola em partida do Brasileiro. Times farão final da Copa do Brasil - Cesar Greco/Palmeiras
Alisson, do Grêmio, e Gabriel Menino, do Palmeiras, disputam bola em partida do Brasileiro. Times farão final da Copa do Brasil Imagem: Cesar Greco/Palmeiras

Jeremias Wernek e Thiago Ferri

Do UOL, em Porto Alegre e São Paulo

14/01/2021 04h00

Grêmio e Palmeiras pediram, conforme revelado pelo UOL Esporte, e a CBF atendeu. Nesta semana, os clubes receberam valor referente à vaga na final da Copa do Brasil. A entidade que organiza o mata-mata depositou R$ 22 milhões na conta de cada time. O pedido de gremistas e palmeirenses foi feito logo após as semifinais e em conjunto. As diretorias se uniram para procurar a confederação.

Com isso, quem for campeão da Copa do Brasil receberá outro depósito de R$ 32 milhões, para totalizar o prêmio de R$ 54 milhões ao grande vencedor do torneio. A transferência será feita dias depois da grande decisão — que pode ocorrer em 17 de fevereiro ou 7 de março. A ideia, tanto em Porto Alegre quanto em São Paulo, é usar a bolada recebida agora para melhorar o fluxo de caixa.

Brenner assina com Bertolucci. Agente quer mantê-lo no SPFC nesta janela

Artilheiro do São Paulo em 2020, com 22 gols marcados, Brenner deixou de trabalhar com o agente Fernando Garcia e ou a ser representado por Giuliano Bertolucci. Os novos empresários do centroavante de 20 anos são cautelosos sobre uma possível negociação no mercado da bola. O jovem atrai olhares do exterior por causa da boa fase no Morumbi. Entretanto, os seus atuais representantes creem que não deve haver uma negociação nesta janela de transferências do futebol europeu. Com contrato até 31 de dezembro de 2022, o garoto tem multa rescisória de 50 milhões de euros (R$ 322,21 milhões na cotação atual). (Por Thiago Fernandes)

Inter 'segura' promessa colombiana até renovação de contrato

O Internacional pretende testar Andrés Amaya, de 19 anos, no elenco principal. Porém, vai esperar até que o contrato do jogador seja renovado. O Colorado discute com o Atlético Huila, da Colômbia, a prorrogação do empréstimo meia-atacante da seleção sub-20 do país, e qualquer oportunidade no time de cima dependerá do acerto. O vínculo com clube gaúcho vai até o fim deste mês, com cláusula de compra de 60% dos direitos. Mas o Inter usa a mudança no calendário da base e a pandemia de novo coronavírus para tentar prorrogar o período sem necessidade de pagamento imediato. Amaya já participou de treinos no principal, mas só jogou no time sub-20. (Por Marinho Saldanha)

Salgado quer absorver local de fundação do Vasco como sede oficial

Inaugurado em novembro de 2020 por um grupo de vascaínos que adquiriu o imóvel, o Centro Cultural Cândido José de Araújo - local no Centro (RJ) que serviu para a reunião de fundação do Vasco em 1898 - pode se tornar uma sede oficial do clube. Vice-presidente de Responsabilidade Social e História na diretoria do presidente Jorge Salgado, Horácio Júnior já teve um primeiro contato com os es do museu para ouvir se eles tinham a intenção de que o centro cultural fosse absorvido pelo Cruzmaltino. Com a resposta positiva, as partes ficaram de agendar uma reunião para tratar da viabilidade deste projeto (Por Bruno Braz)