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

Rocha: 'Não vejo potencial no Marinho para ser destaque no Flamengo'

Do UOL, em São Paulo

27/01/2022 04h00

Marinho já revelou ter um sonho em sua carreira como jogador: ele pretende atuar em Dubai. Os planos do atacante, de 31 anos, podem ar longe dos Emirados Árabes. Seu destino estaria bem mais próximo, ao alcance de uma ponte aérea. O Flamengo iniciou as conversas com o Santos sobre uma possível contratação.

Na Live do Flamengo, programa do UOL Esporte logo após as partidas do Mengão, os jornalistas Renato Maurício Prado e André Rocha discutiram se uma eventual contratação de Marinho seria a mais indicada para o Flamengo. Eles avaliaram se o atacante valeria o investimento.

  • De segunda a sexta, às 17h, o Canal UOL traz, ao vivo, as últimas informações do mercado da bola. Inscreva-se no YouTube de UOL Esporte e confira também as lives dos clubes, Posse de Bola e UOL News Esporte:

"Valeria em 2018. Não vejo potencial no Marinho para ser destaque no time do Flamengo a esse ponto de valer o investimento. Se for uma oportunidade de negócio, pode ser. O Marinho já teve o momento dele", analisou Rocha, lembrando que o jogador já esteve na mira rubro-negra em outras oportunidades.

O atacante tem contrato até dezembro deste ano com o Santos, que ainda não o inscreveu para a disputa do Campeonato Paulista. Marinho ainda se recupera da covid-19, mas o Peixe vive a expectativa de negociá-lo. Já o Flamengo se prepara para encontrar um substituto para Michael, que está prestes a acertar sua transferência para o Al Hilal, da Arábia Saudita.

Além de Marino, houve especulações em torno de Soteldo, Everton Cebolinha e Ezequiel Barco. Rocha reforçou que não vê o atacante do Santos como uma das melhores opções. "Ele está tendo muitos problemas físicos. Não sei que nível de salário ele vai cobrar para jogar no Flamengo. Em 2018, quando tentaram, valia muito a pena. Mas se aram quatro anos. Isso pesa bastante" opinou.

Para Renato, o Flamengo deveria ir atrás de Marinho apenas se fosse uma oportunidade de mercado - ou seja, sem valores exorbitantes. "A única vantagem do Marinho, se ele vier, é que ele joga pelo lado direito, onde acho o Flamengo mais carente. Pelo lado esquerdo, não sei como o Paulo Sousa vai usar o Bruno Henrique, que hoje em dia é muito mais eficiente do que o Everton Ribeiro, embora esteja na seleção do Tite", concluiu.

Não perca! A próxima edição da Live do Flamengo será no sábado (29), logo após a partida contra o Volta Redonda pelo Carioca. Você pode acompanhar o programa pelo Canal UOL, no app Placar UOL, na página do Flamengo no UOL Esporte e no canal do UOL Esporte no Youtube.