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

Fila para luta de Whindersson Nunes e Popó tem cosplayers e fãs do boxe

Music Park, em Balneário Camboriú (SC), teve fila pouco antes da luta entre Popó e Whindersson - Hygino Vasconcellos
Music Park, em Balneário Camboriú (SC), teve fila pouco antes da luta entre Popó e Whindersson Imagem: Hygino Vasconcellos

Hygino Vasconcellos

Colaboração para o UOL, em Balneário Camboriú (SC)

30/01/2022 18h31Atualizada em 30/01/2022 20h49

Pouco a pouco, o movimento do público foi crescendo no Music Park, em Balneário Camboriú (SC), onde ocorre hoje à noite, a partir das 19h (de Brasília), a luta entre Whindersson Nunes e Acelino Popó Freitas. Por volta das 17h, uma fila de pessoas já se formava para entrar no local.

Ao lado da multidão, havia um grupo de pessoas fantasiadas, ou melhor, os cosplayers, que iam de Mulher-Maravilha até Pantera cor-de-rosa.

Grupo de cosplayers não tinha ingresso para entrar no Music Park, mas marcou presença na fila - Hygino Vasconcellos - Hygino Vasconcellos
Grupo de cosplayers não tinha ingresso para entrar no Music Park, mas marcou presença na fila
Imagem: Hygino Vasconcellos

O grupo não possuía ingressos para a luta e foi até o local tirar fotos com outras pessoas, mas conseguiu entradas para o evento pouco depois. "Sempre que tem evento a gente se reúne. Nos conhecemos há uns quatro, cinco meses", conta o psicólogo Thyago Souza, 31 anos, que se veste de Homem-Aranha.

A turma também tem um vilão, o Coringa. Mas para dar um tom mais ameno ao personagem, o atendente Diogo de Walle, 32 anos, decidiu apostar em danças. Ele é tão ligado ao cosplay que duas vezes na semana vai vestido de Coringa para o trabalho, em uma tabacaria. "A chefe adora", diz ele.

Próximo deles, um casal estava na expectativa para ver Popó e Rogério Minoutoro, lutadores já aposentados que decidiram voltar à tona. "Era criança quando acompanhava as lutas deles", conta o educador físico Thiago Henrique da Silva Gonçalves, 29 anos, ao lado da esposa, a farmacêutica Renata Lopes da Cunha Gonçalves, 33 anos.

Renata Lopes e Thiago Henrique Gonçalves marcaram presença em Balneário Camboriú - Hygino Vasconcellos - Hygino Vasconcellos
Renata Lopes e Thiago Henrique Gonçalves marcaram presença em Balneário Camboriú
Imagem: Hygino Vasconcellos

Diferente de muitos que vão à luta hoje, a torcida do casal vai para Popó. "Por mais que o Whindersson esteja focado, a gente sabe que é preciso mais. Para se tornar campeão é preciso bem mais que isso", pondera Renata.

Até ontem, Henrique estava convicto que Popó "levaria a luta a sério", mas depois de assistir a uma entrevista do ídolo, já tem suas dúvidas. "Ele disse que não sabia qual seria a reação dele se, ao dar um soco no Whindersson, ele caísse para trás."

A luta entre Whindersson e Popó é considerada de "exibição", ou seja, não vale pontos e os golpes são mais leves em relação ao boxe profissional. Para Henrique, apesar de Whindersson estar treinando há anos, a diferença para o adversário é gritante. "Não tem comparação, é absurda a diferença entre eles", opinou.