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

Copa do Brasil - 2021

CSA viaja 2.500km em uma semana, e Pimpão destaca decisões consecutivas

Rodrigo Pimpão, atacante do CSA, que entra em campo hoje pela Copa do Brasil - Divulgação/Ascom CSA
Rodrigo Pimpão, atacante do CSA, que entra em campo hoje pela Copa do Brasil Imagem: Divulgação/Ascom CSA

Bruno Fernandes e Josué Seixas

Colaboração para o UOL, em Maceió

13/04/2021 08h59

O CSA entra em campo hoje (13), às 21h30, pela segunda rodada da Copa do Brasil. O time alagoano enfrenta o Remo, em casa, no Estádio Rei Pelé, em meio a uma maratona de 2.500 quilômetros viajados em sete dias.

A equipe vem de classificação para as quartas de final da Copa do Nordeste. No sábado, o CSA empatou com o Sampaio Corrêa fora de casa e avançou para a próxima fase do regional. O adversário será o Fortaleza, neste sábado (17).

Entre o empate com o Sampaio Corrêa e o duelo com o Fortaleza, o CSA viaja 2.500 quilômetros em sete dias. O atacante Rodrigo Pimpão reconhece que a logística de viagens é difícil no Brasil, o que tornará a sequência ainda mais cansativa.

"É uma maratona bem difícil. São viagens longas. O nosso futebol é assim. É difícil de conseguir encaixar, engatilhar uma viagem mais tranquila. Estamos preparados para ar por isso e vamos na luta por essa classificação. Chegamos de viagem no domingo, na segunda-feira treinamos e concentramos e vamos ter o jogo na terça-feira. É uma decisão atrás da outra para que consigamos conquistar os objetivos iniciais do CSA", disse.

Na temporada 2021, o CSA tem sete vitórias, oito empates e apenas uma derrota, para o Ceará, pela Copa do Nordeste. Na primeira fase da Copa do Brasil, o Azulão goleou o Guarany-CE por 5 a 1. O time ainda disputa o Campeonato Alagoano.

"Fico muito feliz em ver que esse ano as coisas são diferentes do que no ano ado, já que estamos participando desse bom momento do clube. Os resultados são bons, já que só perdemos uma partida e na maioria fizemos gols. Os jogadores que aqui chegaram entenderam a filosofia do time. Temos uma boa preparação. Esperamos mais e queremos mais", continuou o atacante.

Classificar-se à próxima fase da Copa do Brasil garante R$ 1,7 milhão ao CSA. No jogo contra o Remo, ninguém tem vantagem do empate. Se houver igualdade no tempo normal, a classificação será decidida nos pênaltis.