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

Mercado da Bola

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.

Flamengo vai conversar com pelo menos quatro treinadores em Portugal

Bruno Spindel e Marcos Braz vão desembarcar em Lisboa neste sábado - Reprodução/YouTube
Bruno Spindel e Marcos Braz vão desembarcar em Lisboa neste sábado Imagem: Reprodução/YouTube

Colunista do UOL

16/12/2021 14h40

Receba os novos posts desta coluna no seu e-mail

Email inválido

A caminho de Lisboa, com chegada prevista para sábado (18), a cúpula do Flamengo, liderada por Marcos Braz (vice-presidente de futebol) e Bruno Spindel (diretor executivo), tem pelo menos quatro conversas pré-agendadas para fazer com treinadores portugueses: Paulo Sousa, Carlos Carvalhal, Paulo Fonseca e Rui Vitória.

Os três primeiros nomes em questão estão sendo avaliados há semanas pela diretoria do clube rubro-negro, numa informação publicada inicialmente pelo GloboEsporte.com e confirmada pelo UOL Esporte. Já o quarto voltou a entrar na mira nas últimas horas.

Ídolo e ex-jogador da seleção portuguesa, Paulo Sousa é a alternativa que mais agrada neste momento, visto o currículo e também o perfil mais ofensivo - foi, inclusive, elogiado diversas vezes pelo craque Robert Lewandowski. Tem agens por Leicester (Inglaterra), Fiorentina (Itália), Bordeaux (França) e recentemente recebeu uma oferta do Boca Juniors (Argentina).

Pesa contra Sousa, de 51 anos, o fato de ter contrato com a seleção da Polônia até março de 2022, quando vai disputar o play-off decisivo da Copa do Mundo no Qatar - primeiro contra a Rússia e depois, em caso de vitória, Suécia ou República Tcheca.

Velho conhecido nos bastidores do Flamengo, Carlos Carvalhal, de 56 anos, vem logo atrás na preferência. Foi motivo de discussão interna antes da contratação de Domenec Torrent, logo após a saída de Jorge Jesus. Conta com experiências na Turquia (Besiktas) e Inglaterra (Sheffield Wednesday) e tem vínculo até junho de 2022 com o Braga (Portugal), que pede cerca de 3 milhões de euros (R$ 19 milhões) para liberá-lo.

Livre no mercado da bola desde que deixou a Roma, em junho, Paulo Fonseca, de 48 anos, inicialmente trabalha com a prioridade de seguir na Europa. Mas está aberto a ouvir ofertas, assim como aconteceu em agosto, quando sentou para conversar com o Atlanta United (Estados Unidos). Esteve ainda muito perto de fechar com o Tottenham (Inglaterra) no começo da atual temporada, mas a negociação acabou por cair.

Recém-demitido do Spartak Moscou (Rússia), Rui Vitória, de 51 anos, também é uma opção que já foi "cogitada" pelo Flamengo no ado recente. Corre por fora na "disputa à moda portuguesa", uma vez que acumula a segunda demissão consecutiva - deixou o Al Nassr (Arábia Saudita) em dezembro de 2020. Foi três vezes campeão nacional com o Benfica (Portugal).

Jorge Jesus é sonho praticamente impossível

Apesar de pressionado no Benfica (Portugal), mesmo tendo obtido a vaga nas oitavas da Liga dos Campeões na semana ada, Jorge Jesus tem contrato válido até junho de 2022. O retorno do Mister é visto como quase impossível pelos dirigentes do Flamengo, que, no entanto, devem combinar uma conversa para um café em Lisboa. Há uma amizade muito grande entre eles.