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

Rodrigo Mattos

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

À cúpula do Flamengo, Braz explica renovações de veteranos, clima e técnico

Marcos Braz destaca confiança no Flamengo após vice do Carioca - Alexandre Vidal/Flamengo/Flickr
Marcos Braz destaca confiança no Flamengo após vice do Carioca Imagem: Alexandre Vidal/Flamengo/Flickr

08/04/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Em meio à crise do futebol do Flamengo, o vice-presidente de Futebol, Marcos Braz, deu explicações a seus pares da diretoria rubro-negra sobre o ambiente do time, situação do técnico Paulo Sousa, renovações de veteranos e contratações. Foi uma estratégia para difundir a versão do departamento do futebol e minimizar problemas.

A participação de Braz durou cerca de meia hora na reunião entre dirigentes rubro-negros. Houve questionamentos, mas seu discurso teve boa aceitação entre os dirigentes.

A conversa girou bastante sobre o ambiente do elenco por causa das notícias recentes sobre descomo entre jogadores e o técnico Paulo Sousa. Braz afirmou que as questões são de proporções menores do que as divulgadas. itiu que pode haver jogadores insatisfeitos, mas entende como normal quando não estão jogando. Mas ressaltou que nenhum deles está atrapalhando.

Braz ainda tomou a iniciativa de explicar a renovação de contratos de Felipe Luiz, Diego Alves e Diego, sendo que os dois últimos não vêm sendo utilizados. O dirigente lembrou que a extensão dos compromissos ocorreu em meio a fases finais da Libertadores, Copa do Brasil e Brasileiro.

Faltava pouco tempo para os contratos e ele recomendou a permanência —o presidente Rodolfo Landim deu aval. Entende que, naquele contexto, dois atletas eram titulares e um reserva entrando sempre. A avaliação é de que, sem a renovação, o grupo seria afetado naquele momento.

Ao falar de Paulo Sousa, Braz fez elogios ao trabalho e ressaltou que entende que está no caminho certo. Porém, itiu que ele pode ter cometido um ou outro erro e que há um excesso de variações nas escalações. Mas não entende que o treinador tenha perdido a capacidade de convencer os atletas.

E o dirigente ressaltou que o treinador foi atrapalhado porque os reforços chegaram mais tarde do que o esperado —a reformulação era uma combinação entre as partes. Lembrou que, por causa da dívida do Banco Central, o Flamengo demorou mais para contratar. Jogadores como Pablo, Santos e Airton Lucas, todos contratados recentemente, ainda não estrearam porque também houve contusões de dois deles. Braz previu que eles terão impacto no time.

Questionado sobre a reformulação do elenco, o dirigente deixou claro que a compra de Andreas por 10 milhões de euros ao Manchester United não está fechada. E acrescentou que a conclusão da operação vai depender de seu desempenho até o meio do ano quando acaba seu empréstimo. Ou seja, o Flamengo só definirá a operação mais para frente.

Outra explicação foi relacionada à renovação de Rodinei: o dirigente disse que a tendência é a extensão do contrato. Explica-se, Paulo Sousa disse contar com ele, o que pesa na decisão. Ainda destacou que a proposta de venda do atleta feita geraria pouco dinheiro ao clube para justificar a operação.

Não é costume de Braz participar das reuniões de diretoria porque ou está viajando ou trabalhou no final de semana em jogos. A crise no futebol contribuiu para ele ir ao encontro, já que pode se explicar.

O presidente do Flamengo, Rodolfo Landim, participou da reunião de forma remota porque está na Espanha. O dirigente apenas leu uma nota dizendo que recusou a Petrobras para se dedicar ao clube. Mas sua atuação não foi prolongada.

Havia ainda a possibilidade de o vice-presidente se reunir com conselheiros de situação e de oposição para dar explicações. Mas desentendimentos entre os próprios membros do Conselho acabaram levando ao cancelamento de reuniões. Como os conselheiros não ouviriam explicações, houve pressão para cancelar reunião entre jogadores e torcidas organizadas, marcada para quinta-feira.