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

'Use a sua': Saiba como postar fotos no Instagram em nova moda da internet

Função "Use a Sua" no Instagram permite que internautas interajam com publicações de outros - UOL
Função "Use a Sua" no Instagram permite que internautas interajam com publicações de outros Imagem: UOL

Bruna Souza Cruz

De Tilt, em São Paulo

17/11/2021 12h31

'Mostre seu pet preocupado com boletos', 'poste uma foto sua se fingindo de rica durante as férias', 'as pessoas que têm crush em você vão reagir a esses Stories". O Instagram nas últimas semanas tem sido inundado por fotos de internautas no Brasil com frases como essas.

Em outubro, por exemplo, várias pessoas compartilharam na rede social um resumo do mês por meio de montagem de selfies e fotografias. A nova modinha faz parte de uma função relativamente nova do Instagram: um sticker com o comando "Use a sua", localizado na parte do Story (que desaparecem após 24h).

Com ela, os internautas podem criar uma frase própria e/ou desafiar amigos a divulgar fotos e vídeos ou responder diretamente publicações de outras pessoas.

Confira a seguir o o a o de como usar a novidade.

Função "Use a Sua" no Instagram - Reprodução - Reprodução
Função "Use a Sua" no Instagram
Imagem: Reprodução

Crie a sua frase

  • Ao escolher uma foto para o seu Story, abra a tela em que as opções de stickers (figurinhas) ficam.
  • Procure o item "Use a sua". Você pode digitar o nome na barrinha da lupa para fazer uma pesquisa direta pelo recurso se desejar.
  • Agora, escreva uma frase ou comando. Exemplo: "desafio você a postar uma foto de dez anos atrás"
  • Uma vez escrita é preciso clicar em "Concluir".
  • Na sequência, publique o seu Story em seu perfil do Instagram.

Responder publicações de outras pessoas

O o a o é parecido com o descrito acima.

  • Ao ver alguma publicação que você quer interagir/participar do desafio -- como "poste foto do amor da sua vida" ou "compartilhe a foto de um homem de sorte", vá direto na caixinha em que aparece a frase.
  • Clique em "Responder".
  • A tela do Instagram vai mudar para que você possa compartilhar o que deseja em seu Story.
  • Posicione a caixinha em algum local da tela que permita a visualização da foto que você escolheu.
  • Por fim, publique o seu Story como tradicionalmente já é feito. Simples assim.