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

GGWP

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Luva de Pedreiro na LOUD reforça "equipe do ano" em 2022

Luva de Pedreiro na LOUD - Divulgação/LOUD
Luva de Pedreiro na LOUD Imagem: Divulgação/LOUD

Colunista do UOL

30/10/2022 04h00

"Receba!": se você ou a internet nos últimos meses, certamente já foi impactado por esse jargão. Iran Ferreira, de 20 anos, mais conhecido como Luva de Pedreiro, se tornou um dos maiores fenômenos do entretenimento brasileiro por meio de seus vídeos nas redes sociais. Cresceu de maneira surreal e virou nome de elite a nível mundial. Agora, também está no esporte eletrônico oficialmente: foi anunciado, na última sexta-feira, como influenciador da LOUD.

Luva esteve no Ginásio do Ibirapuera para a Final do CBLOL - vencida pela própria organização, de maneira inédita, no início de setembro. Quase dois meses depois, vestiu, literalmente, a camisa da LOUD, reforçando alguns pontos - tanto para a própria carreira, quanto para a equipe, que demonstrou inteligência para furar a bolha de maneira perspicaz. Uma união que faz todo sentido para ambos.

Não é que Iran dependa do esporte eletrônico para qualquer coisa. É óbvio que não. Ele impacta diferentes públicos das mais diversas formas: dos outdoors aos comerciais de televisão, atraiu para si, com milhões de seguidores, as maiores marcas e indústrias dos mais diversos tipos. Está ao lado do técnico Tite em uma propaganda de sanduíches da Copa do Mundo e, ao mesmo tempo, visita Dwayne Johnson para o lançamento de um filme a convite da Warner Bros.

Porém, estar no cenário é indiscutivelmente um ganho e tanto para o influenciador. É uma visão de futuro. Para a organização, os ganhos nem sequer demandam apresentação. Basta imaginar quantas pessoas que ainda não sabiam da existência da LOUD (ou mesmo dos Esports como um todo) e agora serão apresentadas. Falar em legitimação parece clichê a essa altura, mas estamos diante de um gigantesco atestado de sucesso.

Campeã mundial de VALORANT, do CBLOL e da LBFF, a LOUD viveu um 2022 impressionante dentro do servidor - e prova que não delimita o sucesso ao âmbito esportivo. Após muitas críticas no início de sua trajetória pelo foco na produção de conteúdo, a organização multiplicou as glórias e encontrou um equilíbrio que é complicado de se atingir para qualquer grande marca do esporte - o de ser grande em todas as frentes interpretativas possíveis.

Não é exagero colocar a equipe como a organização do ano no Brasil e também no mundo. Grandes patrocínios, base de fãs fidelizada, ramificações nas mais diversas áreas de conteúdo... E o mais importante: a vontade de continuar crescendo e quebrando paradigmas dia após dia. Parece uma "bola de neve boa". Sempre surpreendendo, sem se sentar em cima das próprias glórias e conquistas.

Além dos benefícios próprios, a LOUD também "sobe o sarrafo" para o mercado e valoriza as próprias concorrentes. Coloca o Brasil em evidência e prova, por A + B, que é possível bater de frente internacionalmente - dentro ou fora do game. A dois meses do fim do ano, a chegada de Luva de Pedreiro é uma jogada de mestre. E mais um alento para projetar o que mais pode vir pela frente.