Pular para o artigo

Salvar dados

Um controle de progresso, uma checklist ou um quiz salva no navegador o que as pessoas fazem, como qualquer página da web. Em Configurações do site → Dados salvos, você pode guardar isso no Solta, para os dados acompanharem as pessoas nos outros dispositivos delas, ou compartilhar um mesmo armazenamento entre todos que abrem o site.

No dispositivo de cada visitante

É o padrão, e o que acontece em qualquer página da web. O que o site guarda em localStorage fica naquele navegador. Nada fica guardado no Solta, e outro celular começa vazio.

De cada visitante, salvo no Solta

O site não precisa mudar. Os visitantes ganham um pequeno botão Salvar em todos os aparelhos no canto inferior esquerdo. Eles digitam o e-mail, mandamos um código de 6 dígitos, e daí em diante tudo o que o site guarda em localStorage também fica salvo no Solta. Em outro dispositivo, eles entram do mesmo jeito, e os dados voltam antes de a página começar.

Para usar um botão seu, adicione <meta name="solta-data-chip" content="off"> à página e chame solta.data.open() a partir dele. solta.data.email() diz quem entrou, e solta.data.signOut() desconecta a pessoa naquele dispositivo. O que está no dispositivo continua lá.

Funciona em todos os planos. Um site guarda até 1 MB no total nos planos Free e Plus, 50 MB no Pro e 200 MB no Team. O que é excluído num dispositivo é excluído nos outros na próxima vez que eles abrirem o site, a não ser que aquele dispositivo tenha mudado o dado enquanto estava desconectado, depois da exclusão: nesse caso, a cópia mais nova dele é mantida e salva. As exclusões são lembradas por 30 dias, então um dispositivo que fica mais tempo fora mantém o que tinha.

Compartilhado por todos

No Pro e no Team, um armazenamento para o site inteiro: uma contagem de votos, um livro de visitas, a checklist de uma equipe. O código do site usa esse armazenamento diretamente:

const votes = (await solta.data.shared.get("votes")) ?? 0;
await solta.data.shared.set("votes", votes + 1);
await solta.data.shared.push("guestbook", { name, note });
const everything = await solta.data.shared.all();

Os valores podem ser qualquer coisa que o JSON consiga guardar. push adiciona a uma lista sem perder o que outra pessoa adicionou no mesmo momento, o que aconteceria se você lesse, mudasse e gravasse a lista. Qualquer pessoa que pode abrir o site pode mudar o que é compartilhado, então isso combina com um site protegido por senha ou convite.

Um cartão em grupo

Em todos os planos, um site pode ser um cartão em grupo: um armazenamento em que todos que abrem o site adicionam e leem, e que só você muda. É o que o modelo de cartão em grupo usa, e qualquer página pode usar:

const messages = (await solta.data.shared.get("messages")) ?? [];
await solta.data.shared.push("messages", { name, text });
const { count, limit, full } = await solta.data.card();

A página só pode adicionar: set e remove são recusados. Um cartão recebe 10 itens de graça, contando todas as listas dele. Um passe de cartão, comprado uma vez para aquele cartão, aumenta isso para 1.000, e no Pro e no Team todo cartão recebe 1.000. Um cartão cheio recusa um item novo (o code dele é card_full), em vez de apagar um antigo. Em Configurações do site → Dados salvos, você vê todos os itens, com um botão para remover um deles para todo mundo.

Você gerencia os dados

O Solta nunca guarda um valor que contém uma senha digitada na página: ele fica no navegador do visitante, e o armazenamento compartilhado o recusa.

Configurações do site → Dados salvos mostra quanto o site guarda, e cada visitante que salva dados ali, pelo endereço de e-mail. Quando alguém pedir para você excluir os dados dele, exclua ali: eles somem, e a pessoa é desconectada. Exportar leva tudo como JSON. Tudo é excluído junto com o site.

Cada chave tem até 200 caracteres e cada valor até 256 KB, com até 2.000 chaves para cada visitante e para o armazenamento compartilhado. Um visitante pode usar até 10% do espaço de um site (no mínimo 100 KB), para ninguém conseguir encher esse espaço para todos os outros. Num armazenamento compartilhado, isso é contado por endereço de rede. O que um site salva também conta no seu armazenamento, como o que você publica.