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

Flamengo

OPINIÃO

'Preparação desastrosa': para Tironi, VP não é único culpado no Flamengo

Do UOL, em São Paulo

01/03/2023 09h40

O Flamengo venceu o Independiente Del Valle por 1 a 0 no tempo normal, mas perdeu nos pênaltis e ficou com o vice-campeonato da Recopa Sul-Americana.

O UOL News Esporte avaliou o resultado rubro-negro, abaixo das expectativas pelo terceiro torneio em 2023. O jornalista Eduardo Tironi entende que Vítor Pereira tem culpa nos resultados negativos, mas não é responsável por tudo.

"Todas as vezes que o Flamengo entrou em crise desde o furacão Jorge Jesus nunca sobrou para a diretoria, e quase nunca para os jogadores. É sempre o treinador. Foi o Rogério Ceni que saiu, o Dome que saiu, o Paulo Sousa que saiu, o Dorival que saiu mesmo ganhando, o Renato, e agora o Vítor Pereira está nessa", disse Eduardo Tironi.

"Essa preparação do Flamengo, esse começo de temporada sabendo tudo que vinha pela frente, Carioca, Recopa, Supercopa, Mundial, foi um desastre daqueles grosseiros. É o piloto do avião que faz 250 trapalhadas em seguida e o avião cai", completou o jornalista.

VP precisa mostrar resultado no Flamengo

"O trabalho dele precisa dar algum resultado no estadual. A bala de prata do Vítor Pereira é não perder o estadual", disse Eduardo Tironi.

Situação parecida à de Paulo Sousa?

"Ele ontem tentou armar o time de uma maneira bem parecida com a que jogava o Paulo Sousa. Três zagueiros, dois alas espetados, só dois volantes. E o time não andou", disse Renato Mauricio Prado.

Vexame?

"Não se justifica você com 73 mil pessoas no Maracanã, com Gabigol, Arrascaeta, Pedro, Gerson, com todo mundo que está lá, com um clube que arrecada mais de R$ 1 bilhão por ano, perder para um time do Del Valle que nem torcida tem", disse Eduardo Tironi

Chega de 'Pereira' no Flamengo

"As entregas Pereira. É o Andreas Pereira, Léo Pereira e agora trouxeram o Vítor Pereira. Pereira não!", disse Renato Mauricio Prado.

Lesões no São Paulo

"A diretoria do São Paulo, o departamento médico, departamento de futebol, sei lá quem, tem de vir a público explicar o que estar acontecendo", disse Eduardo Tironi.

Dá para confiar em Flaco López?

"No Palmeiras, a impressão que dá é que os caras vão devagarzinho, e quando entram funcionam. Então acho que o Palmeiras vai insistir", disse Eduardo Tironi.

Maycon cai de rendimento no Corinthians

"Neste time do Lázaro, me parece diferente. Esses outros caras, Vera, Roni e Giuliano, estão jogando bem. Então o Maycon fica menos necessário. Mas é cedo para avaliar", disse Eduardo Tironi.

Confira o programa na íntegra

Flamengo