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

Ex-parceiro de Rodrygo e astro da base volta com Cuca e empolga vestiário

Lucas Lourenço carrega a bola no clássico entre Santos e São Paulo ontem (12) na Vila Belmiro - Ivan Storti/Santos FC
Lucas Lourenço carrega a bola no clássico entre Santos e São Paulo ontem (12) na Vila Belmiro Imagem: Ivan Storti/Santos FC

Samir Carvalho

Do UOL, em São Paulo (SP)

13/09/2020 04h00

O meia Lucas Lourenço voltou a atuar no Santos e agradou bastante no empate contra o São Paulo ontem (12) por 2 a 2, na Vila Belmiro, pela 10ª rodada do Campeonato Brasileiro. Revelado nas categorias de base, ele foi parceiro de Rodrygo por muitos anos e, inclusive, sempre foi tratado como astro na base santista. No entanto, ele foi 'escanteado' por Jorge Sampaoli no clube paulista ao ponto de parar no time B.

Segundo apurou o UOL Esporte, o desempenho de Lucas Lourenço no clássico foi bastante comemorado no vestiário da Vila Belmiro após o jogo. Ele ganhou abraços de Cuca e Marinho, principalmente, que festejaram bastante o desempenho do meia. Foi o primeiro jogo dele no profissional em 2020.

O "prata da casa" atuou os 45 minutos finais e demonstrou muita personalidade na função de principal armador do time. Cuca voltou com o esquema 4-4-2 em formato "losango" na segunda etapa, pois perdia o meio-campo em quantidade para o São Paulo no primeiro tempo.

Nesta função, Lourenço atuou na ponta ofensiva do "losango", próximo da dupla de ataque. Além de distribuir bem a bola e buscar tabelas, o jovem meia quase marcou um belo gol em chute que ou perto do ângulo do goleiro Volpi.

Valorizado por Santos e Cuca

O Santos nunca desistiu de Lucas Lourenço, mesmo ele sendo preterido por técnico como Jair Ventura e Jorge Sampaoli. A diretoria renovou o contrato dele recentemente por quatro temporadas e dobrou o salário do meia, mesmo com o meia no ostracismo.

Como era tratado como "astro" na base, Lourenço já ganhava salário de R$ 20 mil mensais. Agora com a renovação ele a a receber R$ 40 mil por mês, segundo apurou o UOL.

Matheus Moraes, Rodrygo Goes e Lucas Lourenço na base do Santos - Pedro Ernesto Guerra Azevedo/Santos FC - Pedro Ernesto Guerra Azevedo/Santos FC
Matheus Moraes, Rodrygo Goes e Lucas Lourenço na base do Santos
Imagem: Pedro Ernesto Guerra Azevedo/Santos FC

Além do Santos, Cuca sempre gostou de Lucas Lourenço. A estreia dele no time profissional em 2018 ocorreu sob o comando do atual treinador do Peixe. Ele atuou na última rodada do Brasileiro em derrota para o Sport por 2 a 1. Lucas Lourenço entrou aos 28 minutos do segundo tempo e seu primeiro lance foi uma tabelinha com Rodrygo, hoje no Real Madrid, e seu grande parceiro de jogadas na base santista.

Cuca se animou ao saber que Lucas Lourenço permaneceu no Santos no período em que ele esteve longe. E começou a aproveitar o jogador nos treinamentos. Hoje, o treinador deu a ele a responsabilidade de principal armador do time na segunda etapa, e Lourenço não desapontou. A ideia agora é aproveitar mais o meia no restante da temporada.