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

"Vão sobreviver", diz Infantino a fãs sobre proibição de cerveja na Copa

Danilo Lavieri e Rodrigo Mattos

Do UOL, em Doha (Qatar)

19/11/2022 06h18

Classificação e Jogos

Depois de um longo discurso onde tentou defender o Qatar e a organização da Copa do Mundo, o presidente da Fifa, Gianni Infantino, falou brevemente sobre a questão da proibição de venda de cervejas no entorno dos estádios que vão receber as partidas do Mundial.

O dirigente afirmou que a decisão foi tomada em conjunto entre autoridades locais e a entidade e tentou afastar os rumores de que o episódio causou uma crise na relação com patrocinadores, especialmente a Budweiser, que é fornecedora oficial de cerveja para a competição.

Ontem (18), a dois dias da estreia, a organização comunicou que a venda que seria feita em tendas na porta dos estádios estava cancelada. Apenas os frequentadores da zona VIP dos estádios ou os que estiverem na Fan Fest terão o à bebida.

"Essa é a única questão para Copa, eu vou e ir para a praia. É uma decisão foi tomada de forma conjunta entre Fifa e Qatar. Toda decisão foi discutida entre as duas partes. Haverá espaços Fan Fest onde podem comprar álcool, até 100 mil pessoas. Acho que, pessoalmente, se por três horas no dia vocês não puderem beber, vocês vão sobreviver. Nós tentamos ver se era possível, mas não foi", explicou.

Infantino ainda disse que a mudança teve como base a segurança das pessoas que vão se locomover durante o dia para assistir a até quatro partidas por dia, característica que só Doha permite em relação aos últimos torneios por conta da questão geográfica. Todas as partidas serão disputadas praticamente na mesma cidade, sem a necessidade de longas viagens de avião como aconteceu na Rússia ou no Brasil por exemplo.

Vale destacar que o plano para esse Mundial já está apresentado há praticamente uma década, quando o país foi escolhido pela entidade para sediar a competição.

"Quando você tem os planos e olha o fluxo das pessoas, a segurança para ir para 10 jogos, você vê algo diferente. Essa Copa é diferente, ela tem quatro jogos no mesmo dia. Temos que garantir que haverá fluxo normal das pessoas. Por isso, tivemos que tomar essa decisão. A Budweiser é uma grande parceira da Fifa. Há umas semanas, apertamos mãos do seu CEO. Eu acho que vale destacar que os parceiros são parceiros em bons e maus momentos. E gosto de destacar que a Budweiser zero vai continuar sendo vendida nos estádios", afirmou. "Acho que essa situação dos últimos dias até nos aproximou".

Depois, ao responder uma outra pergunta sobre o tema, ele citou que países da Europa também proibiram o álcool nos estádios. "Talvez haja uma razão pela qual a França e a Espanha tenham banido o álcool dos estádios. Talvez eles sejam mais espertos do que a gente".