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

Ameaçado, Medina assume responsabilidade por eliminação do Inter

Alexander Medina, técnico do Inter, está ameaçado e pode ser demitido - Ricardo Duarte/Inter
Alexander Medina, técnico do Inter, está ameaçado e pode ser demitido Imagem: Ricardo Duarte/Inter

Marinho Saldanha

Do UOL, em Porto Alegre

04/03/2022 00h17

Alexander Medina está ameaçado. Segundo apurou o UOL Esporte, o treinador pode perder seu cargo após a eliminação do Inter para o Globo-RN, na primeira fase da Copa do Brasil. Após a queda por 2 a 0 de hoje, o uruguaio assumiu a responsabilidade.

"Hoje tínhamos que ganhar com o time que temos. As contratações possíveis que podemos conseguir no mercado, não tem nada a ver com isso. Não temos que responsabilizar a direção. Os responsáveis somos nós. O corpo técnico e os jogadores, somos os maiores responsáveis. Aqui temos que ter autocrítica e não buscar culpados. E sim ter responsabilidade. Nos sentimos responsáveis pela derrota. Estamos trabalhando duro para reverter a situação. Com os jogadores que temos, tínhamos que ter ganhado do Globo", disse o treinador.

O Inter não está apenas fora da Copa do Brasil, mas também está fora da zona de classificação para a próxima fase do Estadual. Além disso, não conseguiu fazer bons jogos até agora na temporada.

"A verdade é que foi uma dura derrota, não esperávamos. Nem a torcida, direção, nem os jogadores nem a comissão técnica. É uma derrota que dói muito, não estava nos planos. Temos que assumir a responsabilidade que nos cabe, como treinador. Temos que trabalhar duramente para reverter isso", falou Medina.

"Foi um jogo muito deficiente do Inter. Parte ofensiva, defensiva, nada do que treinamos saiu. Temos que assumir a responsabilidade e não procurar responsáveis ou buscar desculpas. Aqui não buscamos desculpas. Vamos trabalhar, fechar as portas para dentro e redobrar os esforços. O Inter há algum tempo não consegue resultados e aqui está um grupo novo que está junto há 40 dias e que os resultados não estão aparecendo. Sou um otimista, vamos melhorar. Mas a autocrítica está aqui, temos que fazer isso para seguir crescendo e fazer um time forte, que os resultados venham", completou.

O futuro do técnico, que tem nove jogos no comando do time gaúcho, está em avaliação. Reuniões na volta a Porto Alegre, a partir de amanhã, devem definir mudanças no rumo do futebol do Inter.

Internacional