;(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 repensará futuro no Brasil se violência extrapolar como no México

Técnico do Palmeiras, Abel Ferreira observa seus jogadores contra o Guarani - Marcello Zambrana/AGIF
Técnico do Palmeiras, Abel Ferreira observa seus jogadores contra o Guarani Imagem: Marcello Zambrana/AGIF

Colaboração para o UOL, em Santos (SP)

06/03/2022 19h19

Abel Ferreira cobrou medidas contra a onda de violência no futebol brasileiro durante entrevista coletiva após a vitória do Palmeiras por 2 a 0 sobre o Guarani hoje (6), no Allianz Parque, pela 10ª rodada do Campeonato Paulista.

Minutos antes de ir aos microfones, o técnico português soube da briga entre torcedores do Atlético-MG e Cruzeiro. O conflito causou uma morte. No desabafo, Abel também comentou sobre as cenas de guerra na partida entre Querétaro e Atlas, no México.

Abel Ferreira afirmou que repensará seu futuro no Brasil se a violência extrapolar como no México. Sua família ainda mora em Portugal.

"Muitos episódios graves estão ocorrendo no futebol. Não podemos olhar sem que esses clubes e pessoas sejam punidos. Ministério Público... É nível social, tem que dar a cara. Hoje entrei nessa entrevista coletiva e me falaram que houve rixa no jogo, com uma morte. Quantos mais vão morrer? Os organismos do futebol e de fora precisam dar a cara, exercer os cargos, justificar o cargo. Quando não ganho, tenho responsabilidade. E espero que cada um assuma sua responsabilidade pelo bem do futebol brasileiro. CBF, estaduais, MP... Que se tomem medidas. Na Europa se acabou com os hooligans. Todos falam do melhor futebol lá, mas já foi uma miséria. Precisamos agir. Palavras são levadas com o vento. Segurança me preocupa muito", disse Abel.

"Quando entrei aqui e vi as imagens no México e me dizem que se a a mesma coisa no Brasil, vou ter que pensar muito bem no que quero para minha família, para mim e meus jogadores. Quem organiza precisa dar a cara e tomar medidas. Não podemos fingir que nada está acontecendo. Outros jogadores e técnicos falaram. Posso ser rival, mas respeito a vida. No futebol não vale tudo. É vida. A vida tem valor. Se vemos isso e não fazermos nada, estamos mal. Precisamos dar o exemplo. Os responsáveis e organizadores precisam ser os primeiros. CBF, estaduais, MP. Todos precisam se juntar. Ou temos que trocar por quem faça acontecer. O que estamos esperando?, completou.

Outra reclamação

Ao ser perguntado sobre enfrentar três clássicos consecutivos - São Paulo, Santos e Corinthians -, Abel Ferreira reclamou sobre o calendário do futebol brasileiro.

O português voltou a falar sobre a necessidade de parar os campeonatos durante as convocações.

"Entendo que clássicos são importantes para imprensa e torcedores, enchem página de jornais, dá para fazer comédia. Para nós é igual. Sabemos da importância e do imediatismo, mas nosso foco é preparar todo jogo da mesma maneira. Jogamos para competir e ganhar. Não vamos ganhar sempre, mas vamos lutar sempre. Finalmente entendem que não temos reservas ou titulares. São 27 no elenco e todos com nossa confiança. Kuscevic, Gómez, Luan, Murilo, Veiga... Continuaremos competitivos. Vão chegar as convocações, isso sim me preocupa. Mas temos que aceitar isso. Nossos jogadores estão muito bem, com grande desempenho, e é normal que possam não estar. Isso, sim, me custa", avaliou.

"Ouvi dizer que vem alguém de fora para organizar algumas coisas. Fico triste quando não paramos quando temos convocações. Isso nos faz pensar se vale a pena investir em contratações internacionais. É o que é, infelizmente, mas eu como treinador... Na Europa há pausa, e não é justo aqui. Se temos os melhores, temos que jogar com os melhores. Nós que pagamos os salários. Espero que as pessoas se juntem e se organizem para transformar o futebol brasileiro em mais justo e competitivo. É preciso coragem", concluiu.

Palmeiras