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

Casagrande

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Flamengo de Vítor Pereira e sua diretoria soberba não podem mais falhar

Vítor Pereira foi apresentado por Belotti, Marcos Braz, Landim e Spindel no Flamengo - Foto: Marcelo Cortes/Flamengo
Vítor Pereira foi apresentado por Belotti, Marcos Braz, Landim e Spindel no Flamengo Imagem: Foto: Marcelo Cortes/Flamengo

Colunista do UOL

08/02/2023 08h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Não podemos esquecer do péssimo trabalho do presidente Rodolfo Landim e da sua diretoria em relação à escolha de treinadores no Flamengo.

Mesmo o time sendo campeão, essa diretoria demite os treinadores vencedores, como fizeram com o Rogério Ceni depois do título brasileiro, e no ano ado com o Dorival Júnior, depois de dois títulos importantes (Libertadores e Copa do Brasil).

Sem contar que a soberba flamenguista vem de cima, dessas pessoas que acham que sabem tudo de futebol. E, por se sentirem superiores, trabalham mal nas escolhas.

Landim, Marcos Braz e outros não entenderam até agora que o dinheiro não compra tudo, principalmente competência e humildade. Infelizmente, transformaram o Flamengo num clube arrogante, prepotente e antipático para todo o Brasil. Só eles gostam deles.

São egoístas, porque todo movimento dessa diretoria é pensando só no Flamengo, e ignoram os outros clubes.

Se a torcida for cobrar alguém, não pode ser os jogadores, porque esses já demonstraram que são vitoriosos, e não é a diretoria que entra em campo para jogar. Mas são eles que demitem treinadores em momentos errados.

No caso do Dorival, eles não achavam que ele era do tamanho do Flamengo, porque ainda pensam que o Jorge Jesus é o cara, por causa do trabalho de 2019.

Mas acharam que o Vítor Pereira estava à altura do Flamengo. Por quê?

No Corinthians, ele fez um bom trabalho, mas sem ganhar nada, só jogando bem contra o Flamengo. Isso já foi o suficiente para a soberba achar que ele era o cara certo.

O Flamengo tem um timaço e adoro ver esses caras em campo. Mas, fora, os jogadores do time da Gávea precisam mudar urgentemente. Para, pelo menos, retornar a ser um time simpático.

Agora eles vão disputar o terceiro lugar com quem perder o jogo entre Real Madrid e Al Ahly, nesta quarta-feira (8), e depois terão a final da Recopa Sul-Americana contra o Independiente Del Valle. Não vão poder falhar.