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

Brino: 'Santos deixou claro que Sul-Americana não é prioridade'

Do UOL, em São Paulo

30/06/2022 01h08

O Santos arrancou um empate por 1 a 1 com o Deportivo Táchira nesta quarta-feira (29), no duelo de ida das oitavas de final da Copa Sul-Americana. O Peixe foi a campo com um time repleto de reservas na Venezuela e jogou mal, sendo dominado pelos donos da casa. A poucos minutos do fim, Angulo evitou a derrota santista.

Na Live do Santos, programa do UOL Esporte logo após as partidas do Peixe, os jornalistas Gabriela Brino e Maurício Barros lamentaram a atuação pouco inspirada dos santistas na Venezuela. Mesmo em condições de o time avançar às quartas, os comentaristas veem o Peixe deixar a competição continental em segundo plano.

"Temos recados um pouco claros com a escalação de hoje. Definitivamente, a Sul-Americana não é uma prioridade do Santos, de acordo com o [Fabián] Bustos e com a diretoria, de uma forma conjunta. O santos foi muito reserva. Tivemos o Luiz Filipe, que não víamos havia bastante tempo. Alguém lembrava onde estava Vinícius Balieiro? Não tinha como esperar uma atuação grandiosa de um time que não tinha entrosamento", comentou Brino.

Ao todo, o Santos teve dez desfalques para o duelo contra o Deportivo Táchira: Madson e Maicon (no departamento médico), Sandry (com covid-19), Léo Baptistão, Lucas Barbosa e John (suspensos), e Rodrigo Fernández, Eduardo Bauermann, Ricardo Goulart e Marcos Leonardo (preservados). Embora as dificuldades pelo desentrosamento fossem naturais, Brino esperava que o Peixe fizesse uma apresentação de melhor nível técnico.

"A defesa era o lugar mais frágil. De forma geral, o primeiro tempo foi muito abaixo. Por mais que tenha sido um time desentrosado, foi um jogo preguiçoso, sonolento. O Santos tinha armas para matar o jogo e não conseguiu. Estava muito desanimado. Hoje [ontem], novamente voltou a sentir o gol contra do Zanocelo. Foi um erro fatal que mudou todo o jogo. Toda a parte psicológica do time foi por água abaixo", observou a jornalista.

Barros concordou ao observar o Peixe se abalar ao sofrer o gol e demorar para se reaprumar em campo. "Bustos apostou nos reservas e conseguiu um bom resultado, mas correu muitos riscos. O Santos até começou dominando as ações, mas deu uma desandada. A defesa estava muito frágil, com falta de confiança. As bolas estavam ando por baixo e por cima. Após o gol do Deportivo Táchira, demorou muito para o Santos trocar alguns es e melhorar", apontou.

Para Brino, o resultado não traduz com fidelidade o que foi o duelo. "O gol não demonstrou o que o Santos jogou hoje. Foi um jogo morno, meio triste, desanimado, com pouquíssima postura e resposta. O empate não reflete o que o Santos trouxe nessa noite, o que é triste dizer. O time deveria ter perdido, porque o Deportivo Táchira estava mais à vontade e com muito mais gana de vencer", completou.

Não perca! A próxima edição da Live do Santos será no sábado (2), logo após a partida contra o Flamengo pelo Brasileirão. 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.