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

Marcos Braz, em chegada a Lisboa: 'Jorge Jesus é uma opção natural'

Marcos Braz, vice presidente de futebol do Flamengo - Augusto Nunes/UOL
Marcos Braz, vice presidente de futebol do Flamengo Imagem: Augusto Nunes/UOL

19/12/2021 15h03

Já em Portugal para iniciar uma série de reuniões a fim de contratar o novo técnico do Flamengo, Marcos Braz, vice-presidente de futebol do clube, conversou com a imprensa portuguesa presente no aeroporto de Lisboa, neste domingo (19), e afirmou que Jorge Jesus, pelo histórico de sucesso no Rio, "é uma opção natural":

"Tenho uma relação pessoal com o Jorge, por quem tenho um carinho enorme. Quando vim buscá-lo (em 2019), acreditou em mim e no projeto esportivo que apresentei. Cumpri tudo o que tratei com ele, e o Jorge é sempre uma opção natural, apesar de ter contrato em vigor (Benfica)", falou Braz, emendando:

"Como já disse no Brasil, Jorge Jesus não é um projeto, pode ser uma opção. Não viemos resgatar ninguém, nem nenhum projeto que tenha ficado para trás. Queremos construir algo para o futuro".

"São grandes nomes da escola portuguesa de treinadores. Viemos para resolver a questão do treinador. Se vai demorar um, dois ou três dias, não posso precisar", afirmou o VP do Fla. Braz e Spindel iniciam as reuniões neste domingo e devem ficar até o dia 23 em Portugal para reuniões em prol de um novo treinador.

Ainda no aeroporto, Marcos Braz também confirmou que Carlos Carvalhal (Braga), Paulo Sousa (seleção da Polônia), Paulo Fonseca (sem clube) e Rui Vitória (recém-demitido do Spartak Moscou) também são alvos do Flamengo:

'"Mister nunca disse que não"

Ao jornal português "Record", o advogado de Jorge Jesus, Luís Miguel Henrique, no entanto, reiterou que o Mister "nunca disse que não [ao Flamengo], porque não houve uma conversa a esse respeito".

"É claro e óbvio que o Flamengo quer um treinador. Se pudesse ser Jorge Jesus, eles quereriam? Com toda a certeza absoluta. Se é prioridade para o Flamengo? Tens de perguntar ao Marcos Braz. Ele (Braz) não mente! O Jorge Jesus nunca disse que não, porque não houve uma conversa a esse respeito. Não há rigorosamente qualquer proposta", disse Luís Miguel Henrique.

Com Jesus no radar, Braz e Spindel iniciam as reuniões neste domingo e devem ficar até o dia 23 em Portugal para reuniões em prol de um novo treinador.

Flamengo