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

Influencers de Cristo

Evangélicos da nova geração mostram na internet um novo comportamento religioso

O pavilhão amarelo de exposições do Center Norte, em São Paulo, estava relativamente vazio naquela tarde de sexta-feira. A falta de público para preencher os mais de 8 mil metros quadrados do galpão contrastava com a aglomeração bem no meio do espaço: um caminhão com luzes roxas chamava a atenção para um cubículo de vidro, equipado com dois sofás e uma poltrona. Era ali que, um a um, youtubers se encontrariam com seu público. Aos poucos, uma fila começou a se formar, e o espaço ficou apertado. O corredor foi invadido. Ficou difícil conseguir ver o que estava acontecendo.

Era Priscilla Alcântara. Conhecida por sua participação no programa “Bom Dia & Cia”, do SBT, a ex-estrela mirim virou cantora, mas é como youtuber que sua fama cresce exponencialmente. Seu canal, Vlog de Tudo, tem mais de 1,5 milhão de seguidores. Nele, Priscilla faz relatos de viagens, vídeos irônicos (daquele tipo “expectativa versus realidade”), engraçadinhos (“peido no elevador” é um deles), chama convidados (como seu ex-colega Yudi Tamashiro e a apresentadora Maísa) e, claro, fala sobre religião.

A cantora é uma das principais youtubers evangélicas do Brasil. Ela deixou o SBT em 2013 e, desde então, ou a se dedicar à carreira de cantora gospel. Virou youtuber por um apelo dos fãs no aplicativo Snapchat. Seus vídeos têm centenas de milhares de visualizações - alguns ultraam a casa dos milhões - e viram grandes fóruns de discussão entre seu público. Priscilla é uma influencer. E sabe disso.

"Qualquer plataforma em que eu consiga falar de Jesus, eu falo, embora meu canal não seja só para isso", disse Priscilla ao TAB. "É um jeito de ‘discipular’ uma galera que me ouve", completa.

É MUITA PREGAÇÃO

Nem sempre é fácil. Em março, a cantora postou uma foto curtindo o festival Lollapalooza e virou trending topic no Twitter. Poderia ter sido só uma foto de festival como tantas outras, mas Priscilla é evangélica e é influenciadora entre esse público. Sua presença em um festival mundano rachou a comunidade de fãs. Chegaram a dizer que ela estava andando na companhia do “inimigo” - um eufemismo para Diabo. De cabelo rosa e camiseta, ela respondeu aos críticos e se esquivou de influenciar os fãs evangélicos para o mal. "Não use a Priscilla para fazer algo que você não foi chamado ou não está preparado para fazer", diz ela no vídeo, o único que não permite comentários em seu canal.

A polêmica foi superada. No meio da Expo Gospel, o evento no qual a influencer foi destaque, os fãs que se acotovelavam para vê-la não se importavam com nada disso. Entre eles, uma menina de não mais que cinco anos, vestida de princesa, toda de rosa, com uma tiara de chifre de unicórnio, que não pensou duas vezes ao falar para a ídola que também tinha um canal no YouTube. "Para falar sobre Jesus, né, pai">

Colaborou nesta edição

Tatiana Dias, coordenação e edição, agência Énois Inteligência Jovem

 

Fale com o TAB

[email protected]

 

Publicado em 18 de setembro de 2017

 

Direção: Rodrigo Flores; Edição: Daniel Tozzi; Reportagem: Mirella Nascimento, Rodrigo Bertolotto, Wellington Ramalhoso; UX/Design: Marcelo Gerab, Solenn Robic; Vídeo: Mariah Kay, Ugo Soares;