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

Santos

OPINIÃO

Barros: 'Santos parece não acreditar que pode ganhar jogos importantes'

Do UOL, em São Paulo (SP)

17/03/2022 04h00

Com direito a gol nos acréscimos, o Santos conseguiu arrancar um empate em 3 a 3 com a Ferroviária, em partida atrasada do Campeonato Paulista de 2022, na noite da última quarta-feira (16). Os gols do Peixe foram anotados por Lucas Braga, Marcos Leonardo e Léo Baptistão.

Na Live do Santos, transmitida pelo UOL Esporte após os jogos do Peixe, os jornalistas Gabriela Brino e Maurício Barros analisaram a atuação da equipe comandada por Fabián Bustos em Araraquara. Para o comentarista, a queda de rendimento do time ficou evidente conforme a Ferroviária foi crescendo na partida.

"Aos poucos, a Ferroviária foi crescendo no jogo. O Lucas Braga fez o gol do Santos e, cinco minutos depois, a Ferroviária empatou. O Camacho estava jogando bem, cadenciando a bola, achei que o Marcos Leonardo foi bem hoje, não entendi o motivo dele ter saído. O sinal de instabilidade do Santos é justamente tomar a virada quando estava controlando a partida", começou dizendo Maurício Barros.

"O Santos teve dois gols anulados, depois fez um que valeu, estava mostrando que estava melhor, que tinha o controle e que o time estava bem. Depois que faz o gol, nesse que deve ser o momento de maior confiança parece que o time não acredita que pode ganhar um duelo importante como esse. Sendo assim, o jogo contra a Ferroviária acaba virando um 'Deus nos acuda' por falta de confiança. Existem problemas de qualidade de elenco, mas hoje o time vinha bem. Era um time bipolar com o Carille e segue sendo sem ele", completou o comentarista.

Em seguida, Gabriela Brino apontou como a atuação ruim de João Paulo, que vinha sendo um dos destaques da equipe nesse Paulistão, interferiu na confiança e no desempenho do restante do elenco na derrota.

"Ele (João Paulo) tem muita bagagem, muito crédito, mas hoje foi uma das piores partidas dele em muito tempo. Estava muito inseguro. Estava mal posicionado no primeiro gol e perdeu claramente o tempo da bola. Lógico que foi uma falha meio que geral, mas achei que ele teve um jogo muito abaixo. Não se demonstrou como o goleiro que sempre foi".

"A falha dele acabou com o Santos no primeiro gol. O time estava tão embalado, vidrado em levar a vitória para casa, e acho que foi um dos momentos mais altos da equipe na partida. Depois que ele acabou falhando, toda a alegria do gol do Lucas Braga foi por água abaixo. Esse empate acaba indo para as costas do João Paulo", afirmou a jornalista.

A próxima edição da Live do Santos será o sábado (19), logo após a partida contra o Água Santa, pelo Campeonato Paulista. Você pode acompanhar a live pelo Canal UOL, no app Placar UOL, na página do Santos no UOL Esporte ou no canal do UOL Esporte no Youtube.

Santos