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

Com Mano, Inter breca predileção por estrangeiros após fracasso e busca paz

Mano Menezes é o mais cotado para assumir o Internacional - Reprodução/Twitter @AlNassr_EN
Mano Menezes é o mais cotado para assumir o Internacional Imagem: Reprodução/Twitter @AlNassr_EN

Marinho Saldanha

Do UOL, em Porto Alegre

20/04/2022 04h00

Não deram certo os projetos recentes do Internacional com treinadores estrangeiros. Depois de tentar Miguel Ángel Ramírez, Diego Aguirre e Alexander Medina, o clube gaúcho pisa no freio com profissionais de outros países e busca a 'paz' num treinador nacional. No fim da noite de ontem (19), Mano Menezes foi anunciado oficialmente como o novo comando do Colorado.

Natural da cidade de o do Sobrado (RS), o comandante gaúcho entrou em acordo com a diretoria do clube de Porto Alegre por um vínculo que vai até o fim do ano. As partes alinharam os termos já ava das 22h (de Brasília) e o anúncio oficial veio minutos antes da meia-noite.

As investidas em profissionais de fora do país não deram certo por razões diferentes. Não há um diagnóstico comum entre as saídas de Ramírez, Aguirre ou Medina. Mas as dificuldades acompanharam todos eles.

O espanhol não conseguiu o melhor relacionamento interno, seja com jogadores ou dirigentes. O perfil 'isolado' ocasionou o rompimento que, aos poucos, o distanciou do grupo e do comando até sua saída.

Já Aguirre era o 'mais brasileiro' de todos eles. Com agem pelo Inter como atleta e treinador, ele chegou sob argumento de conhecer o ambiente do clube e teve apoio. Depois de um começo bom, porém, o rendimento do time caiu muito e o desligamento aconteceu no fim da temporada sem atingir os objetivos principais, como conquistar vaga na Libertadores deste ano.

Alexander Medina conquistou o grupo e tinha boa relação com a direção do clube. Porém, não conseguiu executar suas ideias de jogo. O que derrubou o último técnico do Inter não foi qualquer problema fora de campo, mas o rendimento aquém do esperado da equipe.

De todas as experiências recentes, a melhor foi com Eduardo Coudet, no início de 2020. Mas ainda essa carrega discórdia. O argentino optou por deixar o clube e aceitar oferta do Celta, da Espanha, apoiado em problemas de relacionamento com a direção que estava no comando na época. Ainda que o rendimento e os resultados fossem bons, a ruptura partiu do treinador.

'Calejado', o Inter procura, neste momento, é estabilizar o ambiente. Há consenso nos bastidores de que o elenco precisa de um modelo de jogo com o qual se adapte rapidamente e de um clima de tranquilidade para crescer.

Além disso, um estrangeiro necessitaria de mais tempo de adaptação. E tempo é tudo que o Inter não tem. Ameaçado de cair da Sul-Americana na fase de grupos e com os jogos do Brasileirão acumulados pela temporada curta em razão da Copa do Mundo, apressar o processo é regra para o novo treinador gaúcho.

O Inter encara o Fluminense, sábado (23), no Maracanã, pela terceira rodada do Brasileirão, e Mano Menezes, provavelmente, já estará no reservado do lado vermelho.

Internacional