;(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();
})();
Desgosto em comum: Inter e Santos unidos por ressentimento com Yuri Alberto
Yuri Alberto marcou um dos gols do Corinthians contra o Inter no Brasileirão Imagem: Alan Morici/AGIF
Marinho Saldanha e Lucas Musetti
Do UOL, em Porto Alegre e Santos
01/10/2022 04h00
Inter e Santos estarão em lados opostos do campo do Beira-Rio na tarde de hoje (1), 15h, pela 29ª rodada do Campeonato Brasileiro. Entretanto, colorados e santistas compartilham um ressentimento que os une. Yuri Alberto, hoje no Corinthians, vestiu a camisa de ambos e deixou um gosto amargo ao sair dos dois clubes.
Longe da Vila Belmiro ou do Beira-Rio, Yuri Alberto começou no Peixe, despontou no Colorado, mas conseguiu desagradar os dois lados logo em seguida. Vendido ao Zenit (RUS), foi contratado por empréstimo pelo Corinthians e hoje brilha na equipe de Vitor Pereira.
Diferentemente de outros Meninos da Vila, Yuri não saiu do Santos por questões financeiras. O maior incômodo do atacante era ter poucos minutos no elenco profissional, principalmente depois de ter sido "rebaixado" para o sub-23.
O Santos fez mais de uma proposta de renovação e, já perto do fim do contrato, ouviu que a "condição" era o clube provar que o atacante estava nos planos. A gestão do ex-presidente José Carlos Peres entrou em cena e o então técnico Jesualdo Ferreira colocou o centroavante como titular. Mesmo assim, o atleta decidiu sair e decepcionou o Peixe. O agravante foi ter escolhido o Internacional e não algum time da Europa.
O Santos cobriu a proposta do Inter e tentou fazer valer o seu direito de preferência na Justiça. Diante da insistência do artilheiro em ir para o Colorado, o Peixe desistiu e fez acordo com os gaúchos. Depois de Yuri e outros garotos da base saírem, o clube da Vila formalizou uma regra: só sobe ao elenco profissional quem tiver contrato longo e com multa rescisória alta.
Volta ao Brasil marcou o Inter
Imagem: Ricardo Duarte/Inter
No Colorado, Yuri Alberto chegou como aposta e não demorou a virar realidade. Contratado em 2020, terminou o Brasileirão daquele ano como um dos destaques da equipe comandada por Abel Braga.
Artilheiro, ganhou ainda maior valorização na temporada 2021, quando se consolidou como principal ativo do clube. Não tardou a ser vendido, no início deste ano, ao Zenit, da Rússia, por 25 milhões de euros (R$ 131 milhões na cotação atual). Foi a maior transação da história do Inter
Mas ele não ficou muito tempo na Europa. Motivado pela guerra que modificou o cenário dos clubes russos, Yuri decidiu regressar ao Brasil. O Inter, prontamente, apresentou oferta e levou valores de salário e negociação ao máximo que seu orçamento poderia ar. Nos bastidores, o clube do Sul acreditava que o centroavante aceitaria os termos também pela boa relação e o legado deixado em Porto Alegre.
Não foi o que aconteceu. O comandante de ataque optou por jogar no Corinthians, clube que fez uma oferta financeira melhor e ainda contemplou o Zenit na negociação. O Inter se sentiu "traído" e a imagem de Yuri ficou arranhada com torcedores e dirigentes.
A disputa por ele gerou, inclusive, piada do Corinthians, que no anúncio da contratação alfinetou o Inter citando a antiga rixa "do DVD".
Atualmente no Timão, o atacante de 21 anos mantém boa fase. O faro de goleador o fez marcar seis gols e dar uma assistência em 17 partidas até o momento. Para tristeza de colorados e santistas.
FICHA TÉCNICA INTERNACIONAL X SANTOS Data e hora: 1º/10/2022 (Sábado), às 15h (de Brasília) Local: estádio Beira-Rio, em Porto Alegre (RS) Motivo: 29ª rodada da Série A do Brasileirão Árbitro: Ramon Abatti Abel (SC) Auxiliares: Eder Alexandre e Gizeli Casaril (ambos de SC) VAR: Carlos Eduardo Nunes Braga (RJ)
Inter Keiller; Bustos, Moledo, Vitão e Renê; Gabriel, De Pena, Johnny, Alan Patrick e Pedro Henrique; Alemão. Técnico: Mano Menezes.
Santos João Paulo, Nathan, Luiz Felipe, Eduardo Bauermann e Lucas Pires; Camacho, Vinicius Zanocelo e Luan (Carlos Sánchez ou Rodrigo Fernández); Ângelo, Soteldo e Marcos Leonardo. Técnico: Orlando Ribeiro.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.