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

Mensagem de Dia das Mães: veja melhores apps pra criar e enviar no WhatsApp

Mensagem de Dia das Màes: veja melhores apps para enviar - Getty Images
Mensagem de Dia das Màes: veja melhores apps para enviar Imagem: Getty Images

Vinícius de Oliveira

Colaboração para Tilt

08/05/2021 15h00

O Dia das Mães está chegando e, para comemorar a data, você pode enviar uma mensagem personalizada para a pessoa que te deu à luz, cuidou de você quando criança, mas que ainda oferece um colo e aconchego na vida adulta. Tilt testou os melhores aplicativos e explica para você o que cada um deles pode oferecer.

Mas, antes, você sabe por que o Dia das Mães é comemorado? A ideia surgiu quando Anna Jarvis resolveu homenagear a própria mãe, uma ativista americana chamada Ann, nos Estados Unidos em 1908. A data se tornou oficial no país em 1914 e se espalhou pelo mundo. No Brasil, foi oficialmente instituída por Getúlio Vargas em 1932.

Veja abaixo aplicativos em que você pode criar e personalizar belas mensagens de Dia das Mães.

Mensagens de Dia das Mães: dicas de aplicativos

dia das mães cartões, molduras (Android)

Parabenize sua mãe, mulher ou amiga com esse aplicativo. Você pode fazer montagens personalizadas com fotos ou usar modelos de cartões que disponibilizados pelo app. A grande vantagem é que você pode compartilhar tudo diretamente nas redes sociais ou WhatsApp.

app - Reprodução - Reprodução
App dia das mães cartões, molduras (Android)
Imagem: Reprodução

Dia Das Mães 2021 (Android)

Quer mandar aquela mensagem especial de Dia das Mães para a sua mãe? Esse aplicativo fornece mais de 100 imagens com mensagens de amor e carinho para serem enviadas. Apesar de ser bastante simples e não permitir personalização de conteúdo, a quantidade de frases vai te inspirar.

app - Reprodução - Reprodução
App Dia Das Mães 2021 (Android)
Imagem: Reprodução

Mensagens e Frases para as Mães - Dia das Mães (Android)

Esse aplicativo possui centenas de modelos de cartões personalizáveis, com diferentes estilos. No entanto, a melhor parte do app é para quem é fã de stickers. As figurinhas que fazem sucesso tanto no Telegram quanto no WhatsApp trazem mensagens de carinho e amor para as mães que podem ser usadas no dia dedicado a elas e em outras datas.

app - Reprodução - Reprodução
App Mensagens e Frases para as Mães - Dia das Mães (Android)
Imagem: Reprodução

Frases Dias das Mães (Android)

Em busca de mensagens e frases curtas de Dia das Mães? Esse aplicativo é perfeito para você. Compartilhe imagens, com texto em português, que vão direto ao ponto nas principais redes sociais. São dezenas de opções para escolher.

app - Reprodução - Reprodução
App Frases Dias das Mães (Android)
Imagem: Reprodução

Mãe eu te amo Edição de imagen (iOS)

O app é um "quebra-galho" para quem tem iOS. Você consegue personalizar fotos com stickers e textos, mas para ar todos os recursos é preciso pagar pela versão Pro, que custa R$ 10. Além disso, na versão grátis, todas as montagens ficam com uma marca d?água escrita "Mom I Love You".

app - Reprodução - Reprodução
App Mãe eu te amo Edição de imagen (iOS)
Imagem: Reprodução

Mensagem para o Dia das Mães (iOS)

Você pode personalizar suas fotos neste aplicativo ou aproveitar as dezenas de imagens prontas da galeria para mandar para sua mãe no Dia das Mães. O único que possui mensagens prontas em português. Funciona tanto no iPad quanto no iPhone.

app - Reprodução - Reprodução
App Mensagem para o Dia das Mães (iOS)
Imagem: Reprodução

Molduras de dia das mães foto editor App-amor cart (iOS)

Quer colocar a foto da sua mãe em uma moldura para enviar junto com uma mensagem de Dia das Mães? Fácil de usar, você pode escolher entre várias opções de molduras para encaixar a imagem que você quer. Também é possível personalizá-la com stickers. No entanto, todos os textos estão em inglês.

app - Reprodução - Reprodução
App Molduras de dia das mães foto editor App-amor cart (iOS)
Imagem: Reprodução