;(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 Ferreira cita propostas mas reforça vontade de permanecer no Palmeiras

Do UOL, em São Paulo

10/04/2023 14h08

Abel Ferreira falou sobre propostas que recebeu, mas reforçou sua vontade de seguir no comando do Palmeiras.

O que aconteceu

"O clube sabe, já várias propostas chegaram. Eu digo que não quero que me liguem, sabem que eu tenho um plano para mim", disse.

"Eles [auxiliares] não querem sair daqui [risos]. (...) Já disse que sou um treinador que gosta de estar onde querem que eu esteja", completou.

Abel deixou claro que seu próximo o será "muito bem pensado" durante a coletiva após a final do Paulistão.

O treinador também criticou o calendário, mencionando a sequência de nove jogos em um mês que o alviverde paulista vai ter.

"Se o produto for bom, as pessoas pagam por ele, mesmo tendo menos. Não sei o que vai acontecer, não sei mesmo. Sei que hoje fiquei sem o Veiga, e vamos ver. É desumano. Até o dia que eu me cansar, vou embora", falou.

O contrato do treinador com o Palmeiras vai até dezembro de 2024.

O que mais Abel disse

Estrutura do Palmeiras

"Eu disse [ao Galiotte, antes da primeira Libertadores]: 'Esse é o clube dos sonhos de qualquer treinador. Só tem um defeito, que é um oceano no meio, dez horas de distância da minha família e meus pais'. De resto é um clube top. Sei como funciona se não ganhar, igual para todos os treinadores. Mas como eu disse, gostamos muito de estar aqui. O clube sabe, já várias propostas chegaram. Eu digo que não quero que me liguem, sabem que eu tenho um plano para mim. O futebol é dinâmico. Tenho minha família aqui. Tenho que pensar no todo, não posso ser egoísta. O próximo o tem que ser muito bem pensado."

Cutucada na imprensa

"Mas não percam tempo nisso, estamos bem aqui. É um orgulho fazer parte desse clube. Mesmo que a imprensa aqui seja muito exigente e dura... Não só comigo. Eu tenho ganhado e vão me engolindo. Sei que quando não ganhar, vão disparar as flechas. Faz parte do futebol. Mas aqui dentro, o clube dá todas as condições para podermos trabalhar. Às vezes há jogos e decisões que não vamos agradar a todos, mas o clube tem presente e futuro. Já ganhamos dois títulos [em 2023]. Quanto mais ganhamos, mais expectativa criamos. Não sei quanto tempo mais isso vai dar, quanta gasolina meus jogadores ainda têm para continuar com esse desejo."

Calendário

"O futebol aqui tem coisas fantásticas, mas outras desumanas. Nove jogos em um mês. O treinador do United se queixa do Rashford, que se magoou pela sequência. Queria falar para ele: "Vou ter nove jogos em um mês, cala-te". Me perdoem, mas temos que reduzir o número de jogos. Quem está sentado lá tem, de uma vez por todas, humanizar isso. O dinheiro não é tudo. É possível também fazer mais dinheiro com menos jogos."

Palmeiras