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

Jair Ventura revela frustração com saída do Sport: 'Não concordo'

Jair Ventura, em entrevista ao "Seleção SporTV", fala da saída do Sport - Reprodução / SporTV
Jair Ventura, em entrevista ao 'Seleção SporTV', fala da saída do Sport Imagem: Reprodução / SporTV

Do UOL, em São Paulo

06/04/2021 15h23

Após salvar o Sport do rebaixamento no Campeonato Brasileiro do ano ado, o técnico Jair Ventura não ou a série de resultados negativos no início da temporada e foi demitido após os insucessos na Copa do Nordeste e Copa do Brasil.

O treinador foi o convidado da edição de hoje do 'Seleção Sportv' e revelou frustração com a diretoria do clube pernambucano.

"Eu não concordo com os motivos que fizeram eu interromper o trabalho, mas respeito a decisão. A gente luta para que possa haver mudança nesse volume de demissões de treinadores do futebol brasileiro. No entanto, estamos cada vez mais distantes disso acontecer. Quando me tornei treinador profissional em 2010, sabia que isso iria correr. Então, não posso chegar aqui e dar de pobre coitado, chorando, lamentando, eu sei que o mercado funciona dessa maneira", afirmou o treinador.

Jair Ventura criticou o volume de demissões no futebol brasileiro e questionou a longevidade dos treinadores no país.

"Eu não queria que fosse assim. Agora, é ficar preparado para uma próxima oportunidade e que eu possa fazer trabalhos longevos. É incrível que eu fiquei sete meses no Sport e já estava entre os cinco treinadores mais longevos do Brasil. É uma triste realidade. Infelizmente, sete meses de trabalho é considerado um trabalho longevo. É triste, mas é assim. Treinadores por aí são demitidos com um mês de trabalho", comentou.

O treinador disse ser favorável à nova medida imposta pela CBF que limita demissões de treinadores na próxima edição do Brasileirão.

"Achei ótima a nova regra limitando a troca de treinadores durante o Campeonato Brasileiro. A gente dá um o muito importante, vamos qualificar mais os profissionais. Os clubes irão fazer menos apostas, vão trazer treinadores com boas ideias mas que conseguem colocá-las em prática. Isso é muito diferente. Uma coisa é ter a ideia e modelo de jogo, colocá-la em prática é o desafio que nem sempre se consegue. Acredito que os treinadores terão mais tempo para trabalhar. Não só para o clube mas para o treinador também. Sou favorável a essa mudança, acho que damos um o importante para diminuir esse volume de trocas no comando técnico dos clubes", finalizou.

Após garantir a manutenção do Sport na Série A do Campeonato Brasileiro de 2021, Jair Ventura havia assinado a renovação de contrato com o clube do Recife. Eliminado na Copa do Brasil e Copa do Nordeste, o treinador teve o vínculo rescindido 35 dias após a do novo contrato.