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

Danilo Lavieri

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

O que Arthur Cabral fez para seduzir Tite após ser ignorado por Felipão

Atacante Arthur Cabral comemora gol marcado pelo Basel no Campeonato Suíço - RvS.Media/Basile Barbey/Getty Images
Atacante Arthur Cabral comemora gol marcado pelo Basel no Campeonato Suíço Imagem: RvS.Media/Basile Barbey/Getty Images

Colunista do UOL

01/10/2021 17h56

Receba os novos posts desta coluna no seu e-mail

Email inválido

Arthur Cabral é a sensação do futebol na Suíça e foi convocado hoje para a seleção brasileira no lugar de Matheus Cunha. Esquecido por Felipão no Palmeiras, ele chama a atenção de vários times pela Europa e agora foi lembrado por Tite para enfrentar Venezuela, Colômbia e Uruguai pelas Eliminatórias.

Na Suíça, ele não para de balançar as redes adversárias. Com 20 gols e duas assistências em 16 jogos na temporada atual, ele já tinha tido 20 gols em 36 partidas em 2020/21 e 18 gols em 39 partidas em 2019/2020. Tudo isso foi o suficiente para entrar no radar da equipe da CBF em um setor que não tem um atacante que faz tanto o papel de referência.

Gabigol, Gabriel Jesus, Richarlison e até Firmino podem atuar no setor, mas com características diferentes das de Arthur Cabral, que consegue fazer melhor as funções de pivô, mas não chega a ser estático dentro da área. Ele será observado não só nas partidas, mas também nos treinos.

Mas, afinal, por que ele não teve chance no Palmeiras? Por opção de Felipão. Contratado no fim de 2018 para se apresentar em 2019, o atacante chamou a atenção no Ceará e chegou para brigar por vaga com nomes que nunca conseguiram se firmar, como Deyverson e Borja, por exemplo. Sua chegada foi vista como a grande oportunidade de os palmeirenses pararem de sofrer com a irregularidade de seus camisas 9.

O técnico, no entanto, não se mostrou convencido. No Alviverde, Arthur entrou em campo em apenas cinco ocasiões, sendo apenas duas vezes como titular. Fez um gol contra o Novorizontino, no Paulista, mostrando oportunismo dentro da área logo na sua estreia, mas não foi o suficiente.

Na época, a justificativa interna que se dava à ausência de oportunidades eram os treinos fracos. Vale lembrar que, na época, os jornalistas eram proibidos de assistir aos treinos por ordem de Felipão. Não dava, portanto, para termos uma análise própria do que o atacante fazia nos treinos.

A comissão técnica considerava Arthur "pesado" para fazer o papel de 9 que o time precisava. Para comparação, Deyverson esteve em campo em 41 ocasiões e, Borja, em 25. Hoje, o jovem garoto brilha no Basel, enquanto os outros dois representam um grande problema a se resolver na Academia de Futebol.

Vale lembrar que, posteriormente, Deyverson teve a sua venda encaminhada para o futebol chinês, mas o técnico peitou a diretoria e não deixou a venda se concretizar. Hoje no Grêmio, ele solicitou o empréstimo de Broja.

Antes de desembarcar no Palestra Itália, Arthur já havia feito 24 gols em 55 jogos pelo Ceará em 2018. A agem no Alviverde se mostrou como um hiato na sequência de gols do atleta que hoje tem 22 anos. Ao palmeirense resta lamentar o fato de o jogador não ter tido mais oportunidades. Como consolo, fica a operação financeira que terminou em lucro de aproximadamente R$ 8 milhões para o Palmeiras.

Siga também as opiniões de Danilo Lavieri no Twitter e no Instagram