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

Internacional

Galhardo diz que se reapresentará ao Inter, mas não define permanência

Thiago Galhardo tem contrato terminando com o Celta, emprestado pelo Inter - Reprodução/Instagram
Thiago Galhardo tem contrato terminando com o Celta, emprestado pelo Inter Imagem: Reprodução/Instagram

Do UOL, em Porto Alegre

10/05/2022 11h17

Thiago Galhardo disse que voltará ao Inter, mas não garantiu se é para ficar. Em entrevista publicada pelo Transfermarkt, o atacante do Celta revelou insatisfação quando deixou o clube gaúcho e ainda citou sua relação com Eduardo Coudet.

"Essa pergunta até meu pai tem me feito", iniciou o jogador de 32 anos em bate-papo intermediado pela Betway. "De fato, eu não sei. Meu contrato aqui [no Celta] acaba dia 30 e até lá não posso fechar contrato com ninguém. Eu deixo isso com meus empresários. Sei que dia 1º de julho eu me reapresento ao Inter, e dia 30 de junho eu estarei em Porto Alegre, seja para discutir rescisão, um novo empréstimo ou a permanência no clube", declarou.

Até agora são dois gols e uma assistência em 31 jogos pelo Celta, clube que tem opção de compra definida para adquirir os direitos dele. O vínculo com o Internacional vence no fim deste ano. Mesmo longe há quase um ano, o jogador segue acompanhando o Colorado.

"O time contratou muito. Pedro Henrique, Wanderson, Wesley [Moraes] e outros. Eu sigo torcendo porque é uma instituição muito grande. Eu sou muito grato ao clube por tudo. Muitas peças saíram, muitas peças chegaram, e eu fico torcendo para que dê tudo certo. Fiquei muito feliz com as vitórias seguidas", comentou.

No entanto, ele deixou claro sua insatisfação no momento em que foi negociado.

"Mudaram as gestões, muita coisa mudou e tem muita coisa que a gente não concorda, mas precisa respeitar. Minha mãe já dizia: quando um não quer, dois não brigam. E quem está insatisfeito sai. Foi o que aconteceu. Eu deixei bem claro que não estava satisfeito com o que estava acontecendo. Mas quando um ciclo se fecha é porque algo bom vai se abrir e foi isso que sempre aconteceu na minha carreira", salientou Galhardo.

O Internacional prioriza a busca por atacantes no mercado da bola. Com dificuldades ofensivas, o time de Mano Menezes é um dos que menos gols marcou neste início de Brasileirão. O regresso de Galhardo está em debate nos gabinetes do Beira-Rio.

Enquanto isso, ele aproveitou o bate-papo para comentar sua relação com o técnico Eduardo Coudet, que o comandou no Inter e levou ao Celta.

"Costumo dizer que minha carreira é pré-Chacho e pós-Chacho [apelido de Coudet]. Ele mudou meu patamar e até consegui chegar na seleção brasileira. O trabalho dele aqui [na Espanha] é exatamente o mesmo que fazia no Brasil. A diferença é a cobrança. Ele nos cobrava muito mais no Brasil, acho que por conta do nível de exigência. Aqui ele sabe que um mau momento, com quatro ou cinco jogos, não vai fazer com que ele seja mandado embora, porque o trabalho tem muita credibilidade", finalizou.

Pelo Inter foram 34 gols e 11 assistências em 82 jogos nas temporadas 2020 e 2021.

Internacional