;(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 quer retomar DNA do Palmeiras e "defender verde e branco até a morte"

Técnico Abel Ferreira é apresentado pelo Palmeiras - TV Palmeiras/Reprodução
Técnico Abel Ferreira é apresentado pelo Palmeiras Imagem: TV Palmeiras/Reprodução

Thiago Ferri

Do UOL, em São Paulo

04/11/2020 14h10

Apresentado hoje (4) como técnico do Palmeiras, Abel Ferreira diz que não cruzou o oceano Atlântico para "tirar férias". O português irá viver na Academia de Futebol neste início de trabalho e promete "defender o verde e branco até a morte". Com contrato até o fim de 2022, o técnico falou que, apesar do pouco tempo de trabalho, precisa retomar o "DNA" do clube.

"Eu sou um homem de convicções. Eu gosto de seguir meus instintos, gosto de me desafiar. Não foi pelo que os outros disseram ou mostraram. Foi por convicção de que tenho que junto com o Palmeiras a acrescentar títulos na minha carreira. Só com os melhores é possível. Fiz o trabalho de casa e muito honestamente e gosto das cores verde e branco. É algo que me persegue na minha carreira como jogador e treinador", diz Abel, que iniciou a carreira como treinador no Sporting (POR), também de cores verde e branco. "Vivo com intensidade, sem pensar a longo prazo. Quero defender o verde e o branco até a morte", completou.

"Tem condições para morar aqui (no hotel da Academia de Futebol), não atravessei o Atlântico para tirar férias. Vim para ganhar, para ajudar a estrutura e os jogadores a crescerem. Esta é minha missão. Minha estadia nos próximos meses vai ser aqui dentro, não falta nada. O clube dá todas as condições para os profissionais trabalharem na plenitude. Quem está no Palmeiras só pode pensar em vencer", acrescentou.

Como o UOL Esporte havia publicado mais cedo, Abel impressionou pelo conhecimento que demonstrou do elenco e das categorias de base do Verdão. Ao longo entrevista, falou que o livro com a história do clube é "pesado", e chamou o time de o "maior campeão do Brasil".

Nos primeiros dias no clube, ele se manteve próximo de Andrey Lopes, auxiliar da comissão técnica fixa do clube e quem comandou o time interinamente nos últimos cinco jogos. Na entrevista, Abel analisou jogadores tanto do elenco profissional quanto do sub-20. Apesar do conhecimento, ele diz que não é possível esperar grandes mudanças imediatamente, por conta do pouco tempo de treino.

"Temos de recuperar nossa identidade. O Palmeiras tem um DNA, é conhecido pela Academia e foi por uma forma e estilo de jogar. Não foi pelos títulos, foi pela identidade que o treinador ganhou. Agora, não me peçam que, sem treinar, vejam o Palmeiras como jogavam o PAOK, o Braga. Não há tempo. E eu sei que neste momento temos de ganhar. Temos de ajudar os jogadores para que cada um tenha a capacidade de enfrentar o adversário dentro deles", analisou.

"O Andrey (Lopes) falou muito bem, o comportamento (contra o Atlético-MG) foi espetacular. Pelo tempo no clube e pelo conhecimento que tem, conhece bem os jogadores e o clube, ele foi quem mais me ou informação. Tem ideias também europeias, da forma como gosta de organizar suas equipes. É um aliado, uma pessoa que mais me tem ado informação. Ontem ficamos o dia todo quase reunidos. Eu fui jogador há pouco tempo, eu sinto e penso como jogador, sei quando estão frustrados. Ninguém está acima da grande do clube. Todos os profissionais aqui tem de dar o melhor de si para proporcionar o melhor e no domingo dar alegrias aos nossos adeptos", concluiu.

Abel comandou ontem (3) seu primeiro trabalho no clube e amanhã (5) já fará sua estreia. O Palmeiras recebe o Red Bull Bragantino, às 19h, no Allianz Parque, decidindo uma vaga nas quartas de final da Copa do Brasil. O time venceu a ida das oitavas por 3 a 1, e pode perder por um gol de diferença em casa.

Palmeiras