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

Repórter do UOL relata clima de velório após queda do Brasil no Qatar

Colaboração para o UOL

09/12/2022 16h15

Classificação e Jogos

O Brasil foi eliminado novamente nas quartas de final da Copa do Mundo. No Qatar, a derrota veio para a Croácia, nos pênaltis, após empate sem gols nos 90 minutos e um gol para cada lado no tempo extra.

No Live da Copa, a repórter do UOL, Domitila Becker, entrou ao vivo dos arredores do estádio Cidade da Educação, onde o Brasil jogou e falou sobre o clima da torcida após a eliminação. "Tentei chamar umas pessoas o Brasil, mas está todo mundo 'deprê', ninguém quer falar'", relatou.

Domitila também relatou como foi o comportamento da torcida quando o Brasil sofreu o empate, faltando apenas quatro minutos para o jogo acabar e a classificação para a semifinal ser garantida.

"Foi pior que velório. Foi bem triste mesmo para quem estava na torcida. Eu estava perto do campo, uma parte que tinha muito familiar de jogador, então eles sentem muito. A gente estava no gol onde eles estavam cobrando os pênaltis e foi desesperador. Tem uma imagem que postei nas redes sociais, que quando o Brasil toma o gol os jogadores já se ajoelham no campo e aí o Daniel Alves começou 'vamos galera, não acabou', mas ali acho que não havia ânimo que levantasse".

Milly: Faltou psicológico para o Brasil na Copa

Milly Lacombe criticou o aspecto psicológico da seleção contra Croácia e disse que o Brasil não teve controle emocional para segurar a vitória na prorrogação. Segundo ela, faltou a liderança de Neymar.

"Faltou psicológico na seleção, faltou um psicólogo lá dentro, estatura emocional. Um time que tem a liderança do Neymar, tem uma liderança infanto-juvenil. Na hora que mais precisa, falta."

Menon: Neymar não poderia ser o último nos pênaltis

O colunista Menon também criticou Neymar por não aberto a disputa de pênaltis contra a Croácia. Segundo ele, o melhor cobrador precisa ser o primeiro.

"O melhor batedor do time tem que abrir as cobranças, tem que ser o Neymar, se o Neymar começa batendo não estaria 1 a 0 para Croácia, se é Neymar no lugar do Rodrygo é 1 a 1, não pode ficar para bater no final."

'Brasil teve castigo por bobagem de buscar segundo gol', analisa RMP

Após sair na frente na prorrogação, o Brasil sofreu o empate para a Croácia e, posteriormente, foi derrotado nos pênaltis. O colunista Renato Maurício Prado definiu a eliminação como injusta, mas disse que foi um castigo por querer ser ofensivo quando não precisava mais".

"Como é que você leva um gol de contra-ataque no segundo tempo da prorrogação, vencendo por 1 a 0, contra uma seleção que tinha enorme dificuldade de botar sequer uma bola na área do Alisson? Isso para mim foi de uma ingenuidade, uma bobagem monstruosa".

Quem fica e quem sai para a Copa de 2026?

Com o Brasil eliminado no Qatar, o sonho do hexa ficou para a próxima Copa do Mundo, em 2026. Após a derrota nos pênaltis para a Croácia, os comentaristas do UOL debateram quem permanece e quem deve sair no próximo ciclo da seleção. Confira.

Assista o Live da Copa na íntegra