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

Ramon cumpre cartilha como interino na seleção e se fortalece na CBF

O técnico Ramon Menezes e o presidente da CBF Ednaldo Rodrigues no amistoso Brasil x Guiné - Albert Gea/Reuters
O técnico Ramon Menezes e o presidente da CBF Ednaldo Rodrigues no amistoso Brasil x Guiné Imagem: Albert Gea/Reuters

Do UOL, em São Paulo, Rio e Barcelona (ESP)

20/06/2023 04h00

O técnico Ramon Menezes tem sido um interino na seleção brasileira conforme a "cartilha" da CBF. O treinador, que é originalmente da seleção sub-20, fará hoje (20), contra Senegal, sua terceira partida no comando do Brasil — venceu uma (Guiné) e perdeu outra (Marrocos).

Salvo um desastre em Lisboa, a partir das 16h (de Brasília), ele sairá da data Fifa fortalecido para as próximas tarefas na entidade.

O papel do interino

A CBF vê em Ramon um interino que foi útil até o momento, embora não tenha enxergado nele alguém para ser o técnico efetivo da seleção principal — tanto que fechou verbalmente com Carlo Ancelotti para vir a partir de 2024.

Ramon fez o que a gestão da CBF queria em termos de escolhas de jogadores: deu chance a nomes que atuam no futebol brasileiro, sem jogar fora uma base da Copa do Mundo. O time se escora em uma espinha dorsal composta por Marquinhos, Casemiro e Vini Jr. E o chamado de Rony e Raphael Veiga agradou ao presidente da CBF, Ednaldo Rodrigues.

O comportamento de Ramon no cargo foi de "dançar conforme a música" da CBF. Em todas as entrevistas, fez questão de agradecer a Ednaldo pela chance. Não reclamou da agenda por vezes conflitante com a seleção sub-20: ele perdeu o início dos treinos na Granja Comary porque estava em um evento no Qatar e depois fez um bate-volta entre Argentina e Rio para anunciar a convocação atual.

A CBF, no geral, se mantém satisfeita com o trabalho de Ramon porque ele conseguiu ser campeão sul-americano depois de 12 anos, embora tenha caído nas quartas do Mundial Sub-20, frente a Israel. Ednaldo pondera o contexto de ausência de jogadores importantes da geração por causa da não liberação dos clubes.

No que Ramon está de olho

Ramon tem planos para abraçar outros projetos relacionados às seleções de base do Brasil. O principal deles é o projeto olímpico para Paris-2024.

O treinador também já mostrou interesse no Pan-Americano deste ano, no Chile. O Brasil conseguiu vaga justamente pela colocação final no Sul-Americano vencido sob o comando de Ramon.

Sobre a sub-20, os anos pares geralmente são de observação mais distante, com retomada de amistosos e preparação para o Sul-Americano de 2025 já na reta final. Ou seja, depois dos Jogos Olímpicos.

agem de bastão

Ramon ainda deve ter participação no processo transitório entre a gestão atual e Carlo Ancelotti. Não está claro ainda como a CBF fará com os jogos das Eliminatórias, a partir de setembro. O plano é contar com alguém de confiança de Ancelotti para conduzir o processo. O contrato do italiano com o Real Madrid vai até o fim de junho de 2024. Isso também o tiraria da Copa América, nos Estados Unidos, que começa em junho.

Na CBF, a cada preparação eu o um relatório. E aqui não vai ser diferente. Aqui fizemos a convocação pensando nos dois jogos, num time forte. E o meu trabalho foi totalmente voltado para os dois jogos, vencer Guiné, resultado positivo, voltar a vencer era importante, porque não vencemos Marrocos. Aqui vencemos Guiné e agora é fazer jogo seguro e com controle contra Senegal"

Ramon Menezes, técnico interino da seleção brasileira