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

Líder da geração de ouro, Modric se aposenta da Copa como maior da Croácia

Modric em ação pela Croácia na partida contra a Argentina, pela Copa do Mundo do Qatar - Xinhua/Lan Hongguang
Modric em ação pela Croácia na partida contra a Argentina, pela Copa do Mundo do Qatar Imagem: Xinhua/Lan Hongguang

Do UOL, em Doha (Qatar)

17/12/2022 04h00

Classificação e Jogos

Luka Modric faz a sua última aparição em uma Copa do Mundo na partida deste sábado (17), a partir das 12h (de Brasília), na disputa de terceiro lugar contra Marrocos. Líder da turma que tem sido chamada de geração de ouro da Croácia, ele disputa um Mundial pela última vez.

Aos 37 anos, ele não conseguiu chegar ao lugar mais alto do pódio, mas termina a competição como o maior jogador da história do seu país, deixando para trás Davor Suker, que tem no currículo o terceiro lugar no Mundial de 1998, na França, que foi motivo de muita festa do país por ter sido o primeiro grande sucesso no futebol após a separação da Iugoslávia, em 1991.

O momento foi superado pelo vice-campeonato após a derrota para a França na final em 2018, quando o time ainda tinha outros nomes de impacto que já não foram ao Qatar, como Rakitic e Mandzukic. Naquela temporada, ele foi eleito não só o melhor da Copa, mas também o melhor jogador do mundo.

É por isso que Modric é apontado pelo próprio técnico Zlakto Dalic como o líder da geração que ele chama de ouro. Para o comandante, aliás, o jogo deste sábado só não tem um peso maior justamente pelo vice conquistado há quatro anos.

"O momento de 1998 é uma parte da história em que o mundo inteiro conheceu a Croácia. Este é um momento um pouco diferente agora, porque alcançamos o sucesso com a prata da Rússia. Claro, gostaríamos de deixar nosso povo feliz com uma nova medalha de bronze", falou o técnico.

O camisa 10 é citado em todas as coletivas de jogadores da Croácia como a grande referência para o grupo. Foi o que fez Kovacic na entrevista de sexta, ao falar que olhava para seu companheiro na Copa ada como inspiração na preparação até 2018.

"Tive então a honra de ver Modric se preparar para as partidas. Naquela altura, eu tinha um sonho de estar tão preparado quanto ele estava. Agora, estou lutando pelo nosso país e espero ter correspondido às minhas expectativas neste campeonato", disse o jogador de 28 anos.

Nesta Copa, Modric teve papel fundamental na eliminação do Brasil, nas quartas de final, e sumiu na semifinal diante da Argentina, quando foi até substituído no segundo tempo. Titular nas seis partidas, o camisa 10 já correu mais de 64 quilômetros ao todo e chegou a atingir 32,5 km/h como velocidade máxima no jogo contra a Bélgica. Para justificar o rótulo de motor do time, ele está sempre entre os cinco jogadores do seu time que mais tocaram na bola nas estatísticas da Fifa.

Apesar de estar se despedindo da Copa, Modric ainda vai jogar mais pela Croácia. Ele deve ficar com o time ao menos até 2024, ano de Eurocopa, além de disputar a fase final da Liga das Nações no ano que vem.