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

Fluminense

Fluminense: Xingamentos e fraco desempenho selam fim da linha de Abel Braga

Técnico Abel Braga deixou o comando do Fluminense em meio à má fase do time - Mailson Santana/Fluminense FC
Técnico Abel Braga deixou o comando do Fluminense em meio à má fase do time Imagem: Mailson Santana/Fluminense FC

Alexandre Araújo e Leo Burlá

Do UOL, no Rio de Janeiro (RJ)

29/04/2022 04h00

O título do Campeonato Carioca deste ano indicava mais um capítulo da lua de mel entre Abel Braga e o Fluminense, mas o amor se encerrou rapidamente após a conquista da taça e o desempenho recente culminou com o pedido de demissão.

Para entender a saída do comandante é preciso voltar no tempo e retornar ao jogo contra o Vila Nova, pela Copa do Brasil, quando o Tricolor arrancou a virada nos últimos instantes, no Maracanã. Hostilizado pela torcida, Abel sentiu o golpe e, ciente de que poderia gerar algum melindre, não concedeu entrevista coletiva -- autor do gol da vitória, Fred foi quem atendeu os jornalistas.

O jogo contra os goianos foi mais um, desde o término do Estadual, em que a queda de rendimento se mostrou brusca. Fora a vitória sem sustos contra o frágil Oriente Petrolero, pela Sul-Americana, o Tricolor já vinha apresentando um futebol muito aquém do esperado, como foi contra Junior Barranquilla e Cuiabá, e nem de longe parecia o time sólido que conseguiu uma sequência positiva no início da temporada.

Naquele momento, os jogadores apresentaram queda técnica e física, o que fez o sinal de alerta acender nas Laranjeiras. O próprio Abel vinha chamando a atenção para a maratona à qual a equipe estava submetida e não escondia esperar um posicionamento da diretoria sobre uma diretriz.

"Para mim, não [existe prioridade]. Eu gostaria que chegasse alguém e falasse: 'olha, vamos priorizar essa', mas ninguém fala nada. Então, nós vamos jogando. Um dia melhor do que o outro", disse, após o triunfo sobre o Petrolero.

Torcedor declarado do Flu, o treinador ressentiu-se com os xingamentos vindos da arquibancada — que se tornaram cada vez mais constantes —, e itiu também estar sentindo o peso do desgaste da rotina de viagens.

Para piorar, o Fluminense voltou a jogar muito mal na derrota para o Internacional e, após o apito final, houve uma reunião ainda no vestiário. Na ocasião, os jogadores dividiram as responsabilidades com o treinador, lhe deram apoio e as partes debateram soluções.

Criticado pela manutenção do esquema com três zagueiros, mesmo com Felipe Melo fora de combate, Abel tentou mudar e fez testes em uma tentativa de sacudir o ambiente. Ele, inclusive, deu chances a nomes que estavam até então esquecidos, como o atacante Caio Paulista e o lateral esquerdo Marlon. Até um desenho, em que Nino atuou quase como um lateral direito, foi posto em prática.

Mas os sinais de que a relação já não era mais a mesma estavam evidentes. O empate sem gols contra o Unión Santa Fe foi outra oportunidade em que o Tricolor não conseguiu dar respostas em campo, e qualquer mudança parecia não ter mais efeito sobre o grupo. As novas hostilidades por parte da torcida feriram o técnico, que começou a amadurecer seriamente a ideia de colocar um ponto final na relação.

Depois do jogo contra os argentinos, Abel estava visivelmente abatido e pessoas que conhecem o técnico temiam que ele pudesse estar ensaiando uma saída. Questionado sobre o futuro no clube, citou que se despediria quando não se sentisse mais feliz.

"Isso tem que perguntar ao presidente. Estou no clube que amo, se não me sentir feliz... Não estou mais querendo me conhecer, não preciso me conhecer mais. Conheço muito a vida, o que eu quero mais é ser feliz, só isso", afirmou.

Diante do rendimento abaixo do esperado e sem enxergar uma alteração breve no cenário, o comandante optou pela ruptura e pela preservação de sua história no clube. No discurso de despedida, se emocionou ao falar da ligação que tem com o Tricolor e lembrou o filho João Pedro, que foi velado nas Laranjeiras, após morrer em um acidente.

Sem um treinador, o Flu será comandado por Marcão na partida contra o Coritiba, domingo (1), 16h, no Couto Pereira. A direção avalia nomes e Fernando Diniz é uma possibilidade cogitada.

Flertou com marca histórica, viveu crise e levou taça

Fluminense, campeão carioca em 2022 - ANDRÉ FABIANO/CÓDIGO19/ESTADÃO CONTEÚDO - ANDRÉ FABIANO/CÓDIGO19/ESTADÃO CONTEÚDO
Imagem: ANDRÉ FABIANO/CÓDIGO19/ESTADÃO CONTEÚDO

A quarta agem de Abel Braga pelas Laranjeiras foi curta, mas intensa. Sob o comando do treinador, o Flu conquistou 12 vitórias consecutivas e quase igualou a sequência de 13, obtida em 1919, a maior em jogos oficiais da história do clube. Porém, o maior baque na temporada foi a eliminação na Libertadores ainda na terceira fase preliminar, após derrota para o Olimpia, que gerou uma grave crise.

Apesar das duras críticas, alguns dias depois do doloroso adeus, o Tricolor chegou ao título do Campeonato Carioca batendo o rival Flamengo na final e encerrando um jejum que durava desde 2012.

Fluminense