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

Palmeiras

Abel revela futuro de campeões da Copinha no Palmeiras e aposta com Leila

Jogadores do Palmeiras comemoram título da Copinha - Marcello Zambrana/AGIF
Jogadores do Palmeiras comemoram título da Copinha Imagem: Marcello Zambrana/AGIF

26/01/2023 06h30

Inserir de forma gradativa, respeitando os processos, etapas e, principalmente, a concorrência interna do elenco profissional, esses são os planos do técnico Abel Ferreira para os atletas campeões da Copa São Paulo de Futebol Júnior pelo Palmeiras, ontem.

O treinador indicou isso ao ser questionado sobre o futuro das peças que levaram o Verdão ao bicampeonato da competição de base. O comandante da equipe profissional alviverde se referiu ao elenco que havia conquistado o torneio pela primeira vez, em 2022.

Durante o ano ado, sete jogadores foram promovidos: o zagueiro Naves, os laterais Garcia e Vanderlan, os meias Fabinho e Pedro Bicalho, e os atacantes Endrick e Giovani. Desses, Bicalho é o único que não está no elenco atualmente, porque foi emprestado ao Santa Clara, clube de Portugal.

"Ano ado me fizeram essa pergunta e subiram sete (jogadores das categorias de base ao time profissional). Sempre vão me perguntar sobre a base e vocês (imprensa) precisam decidir, porque vocês alimentam a polêmica. No clube, sabemos o que queremos e no que trabalhamos. Às vezes vocês dão voz a coisas que não existem. E a resposta a essa pergunta está no nosso elenco", disse o treinador palmeirense em entrevista coletiva concedida após a vitória da equipe principal do Verdão sobre o Ituano, pelo Campeonato Paulista.

Por conta do elenco profissional entrar em campo poucas horas depois da decisão da Copinha, Abel não conseguiu estar presente no estádio do Canindé para acompanhar o triunfo palmeirense por 2 a 1 sobre o América-MG. Ainda assim, ele revelou que conversou com a presidente Leila Pereira e que a dirigente do clube alviverde brincou que está com dores no pescoço de tanto carregar medalhas. O técnico, então, fez um desafio para ela.

"Já desafiei a nossa presidente, que está a trabalhar nisso, a fazer um novo CT para a formação. Em recursos humanos tem gente muito competente para fazer isso", revelou Abel Ferreira.

O técnico do Palmeiras aproveitou para parabenizar as pessoas responsáveis pelo sucesso da base do clube nos últimos anos.

"O hábito de ganhar está instalado aqui. Parabéns para toda a formação. Trabalho de cinco a seis anos, com a chegada do Cícero [Souza, gerente de futebol] e do João Paulo [Sampaio, coordenador das categorias de base]", ressaltou Abel.

A conquista da Copinha pelo Verdão no segundo ano consecutivo ocorre em um momento em que a diretoria está pressionada por conta da ausência de reforços. No início desta temporada, os palmeirenses não anunciaram jogador algum, além de ter perdido dois dois pilares do plantel campeão brasileiro no ano ado: Danilo e Gustavo Scarpa, que foram para o Nottingham Forest, da Inglaterra.

"O Palmeiras tem presente e tem futuro. Às vezes eu rio pelos burburinhos de fora, porque é presságio de uma boa época. Já tem sido um hábito. É no final que se faz o balanço", concluiu Abel Ferreira.

Contra o Ituano, o Palmeiras teve cinco crias da Academia de Futebol envolvidas. O lateral-esquerdo Vanderlan foi titular, enquanto o lateral-direito Garcia, o volante Fabinho, o meio-campista Jhon Jhon, e o atacante Giovani entraram no decorrer da partida.

Palmeiras