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

OPINIÃO

Flamengo deve buscar técnico no Brasil. Há resistências a Cuca, diz Mattos

Do UOL, em São Paulo

09/06/2022 12h14

O Flamengo ainda não tem um nome definido para substituir o técnico português Paulo Sousa, mas a tendência é de que o novo treinador seja contratado no futebol brasileiro, inclusive com a possibilidade de ser alguém empregado, o que já ocorreu na chegada de Rogério Ceni em 2020.

No UOL News Esporte, Rodrigo Mattos explica que até há intermediários para a busca de treinadores no exterior, mas o Flamengo trabalha com senso de urgência e considera possíveis nomes para assumir o comando em meio a uma campanha ruim no Campeonato Brasileiro, tendo em breve a disputa de mata-mata na Libertadores e na Copa do Brasil.

"Vão buscar alguém no Brasil. Eu sei que tem gente procurando técnicos fora do Brasil para o Flamengo, sempre tem intermediários e esse tipo de coisa, mas eles precisam de uma solução rápida e que conheça o contexto brasileiro, nesse jeito é muito mais provável que seja um técnico brasileiro e o Flamengo pode procurar técnicos que estejam empregados, não vai ser a primeira vez, é só lembrar o Rogério Ceni", diz Mattos.

"Não tem nenhuma informação de quem vão buscar, mas pode ser desde o Vojvoda ao Barbieri, enfim, são os técnicos que estão postos, alguns que já aram pelo Flamengo, como o Dorival. Não tem nome por enquanto, isso é um fato, começou muita especulação, mas não tem nenhum nome decidido", completa.

Em relação ao nome de Cuca, Mattos explica que há grande resistência dentro do Flamengo tanto pela condenação por estupro na Suíça, quanto pela agem anterior do técnico pelo clube, em 2009, quando o clima foi muito conturbado.

"O único que a gente vê que está desempregado hoje é o Cuca, que tem muita resistência lá dentro, se vai ser superada eu não sei e as resistências vão desde o trabalho que teve o Cuca lá atrás no Flamengo, um trabalho com muito problema de estabilidade emocional no relacionamento com o clube, justamente os problemas que estão se ando agora. Em 2009, quando o Cuca saiu, uma das informações é de que ele ouvia atrás da porta reunião de jogador, o Marcos Braz estava no clube na época", diz Mattos.

"O que vai resolver o problema de relacionamento do Flamengo é esse técnico? Quando começou a ser cogitado já apareceu um áudio do irmão dele atacando um torcedor em rede social, aí o Flamengo estaria querendo trazer mais problemas para dentro do que já tem hoje em dia, fora a questão da condenação na Suíça, que tem que ser levada em conta, não é uma brincadeirinha e que eu sei que dentro do clube se pensa nisso", conclui.