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

Grêmio

Grêmio: Douglas Costa explica polêmica do casamento e diz que quer voltar

Douglas Costa jogou pelo Grêmio em 2021 - EVERTON PEREIRA/O FOTOGRÁFICO/ESTADÃO CONTEÚDO
Douglas Costa jogou pelo Grêmio em 2021 Imagem: EVERTON PEREIRA/O FOTOGRÁFICO/ESTADÃO CONTEÚDO

Marinho Saldanha

Do UOL, em Porto Alegre

01/03/2023 04h00

Douglas Costa deu a sua versão sobre as polêmicas que viveu na última agem pelo Grêmio. Em entrevista ao UOL, o meia de 32 anos disse que gostaria de voltar para encerrar a carreira no Tricolor.

"Minha agem pelo Grêmio foi conturbada por diversos motivos. E estava acostumado a combinar uma coisa e que ela fosse cumprida. Eu tinha acordos com a antiga direção e não foram cumpridos. Eu fui relevando por ser gremista, tentando ajudar em campo, resolvendo os problemas. Mas acabou não acontecendo. Quando saí do Bayern, eu e meu estafe falamos que precisávamos de um mês para integrar o grupo, ter êxitos. Mas não aconteceu como planejei. Claro que não sou criança, aceitei isso também, mas na primeira semana já fui pro campo, depois fui para o jogo e acabei sendo exposto sem estar preparado. Vieram as cobranças. Não foi como eu queria. No Brasil é assim, quando não ganha muda, mas foi muito complicado",

'Eu teria me exposto menos'

"Eu teria me exposto menos. Teria deixado minha vida pessoal de lado, pelas férias, programado num momento melhor [sua festa de casamento]. Mas como foi combinado, no calor do momento todo mundo dizia sim para tudo, acabou que no final a direção não cumpriu e ficou ruim para todas as partes. No fim, optei por sair em um acordo porque a situação financeiramente seria ruim para o Grêmio. O clube iria penar para me pagar. Todo mundo sabe que eu ganhava o dobro no Bayern, o Grêmio não teria como me ressarcir como combinado, não quis desgastar ainda mais a relação. [O tchauzinho para torcida no jogo que decretou o rebaixamento] eu estou acostumado a fazer isso em todos os clubes, só que acabou sendo num momento inoportuno e me entenderam errado. Acharam que era para eles, não era direcionado para a torcida. Mas não tenho nenhuma mágoa da torcida. Eles te apoiam, te vaiam, vida que segue. A festa de casamento eu combinei antes de com o Grêmio, mas não cumpriram o acordo".

Douglas Costa, atacante do Grêmio, dá tchau para torcedores após gol contra o Atlético-MG - Reprodução - Reprodução
Imagem: Reprodução

Volta ao Grêmio?

"Hoje a situação é totalmente diferente, a direção é outra, o treinador que me ligou retornou. Quando cheguei ele já não estava ali. É outro pensamento e negócio. O dinheiro que o Grêmio ficou me devendo, a gente conversou nas férias e o presidente disse que tem que ser cumprido, e está sendo cumprido. Sendo bem sincero, tive conversas com o pessoal lá. Mas tem um porém, quero cumprir meu contrato aqui no Galaxy. O campeonato começou agora e tenho até novembro para permanecer aqui. Estou calmo e tranquilo, com a cabeça boa para ouvir quem eu quiser e ir para onde quiser. Não quero acelerar as coisas, não precisa. Vou fazer um ano bom. Ano ado tive lesões, não foi muito legal. No primeiro ano eu conheci mais a Liga [MLS], os companheiros, este ano aposto que vou estar ainda mais feliz no clube".

Frustração

"O que ficou para mim é que [Grêmio] foi o único lugar que não consegui um tempo significativo e grandes títulos na carreira. Não tive um grande título no Brasil e coloco isso como meta. Priorizo o Grêmio por ter saído de lá e querer terminar minha carreira lá, mas levo tudo em conta, sonho, família, objetivos, tudo está na balança. Sou gremista e sempre deixei isso bem claro para a direção atual. É que minha agem foi muito recente e o pessoal sente, se magoa, entenderam errado o que eu fiz. Acredito que todo mundo sabe minha vontade, sempre foi dito. Mas não quero fazer favor, quero ajudar o clube".

Renato? Os dois querem

"Eu e o Renato somos amigos. Conversamos e deixamos as coisas bem nos eixos. Mostrei para ele minha vontade de trabalhar com ele, ele me mostrou a vontade de trabalhar comigo. Claro que ninguém vai se rasgar para isso. Ele sabe da minha vontade, do que eu poderia contribuir com o time dele. Sabemos que é o ponto da questão os dois quererem. No meio do ano é complicado, sabendo como as coisas funcionam. Vai estar no meio do campeonato, nunca se sabe se o time estará para cima ou para baixo e toda confusão que estamos acostumados. É muito mais fácil pegar no início, fazer a pré-temporada".

Grêmio