PANOTAS.

Categoria compartilhada

Dar a outra pessoa acesso a uma categoria — os dois níveis de acesso, o ciclo do convite e o que fica travado.

No app:MenuConfiguraçõesCompartilhamento
Em resumo

Compartilhar uma categoria é dar a outra pessoa acesso àquele galho da sua árvore — a categoria, suas subcategorias, seus lançamentos e suas anotações. O caso clássico é o casal que quer enxergar as despesas de casa em conjunto sem juntar tudo o resto. Você escolhe quem, qual categoria e quanto de acesso; e pode revogar quando quiser.

Antes de começar

Compartilhamento é o único recurso que depende inteiramente do servidor, então há três condições:

A tela informa qual das três está faltando, em vez de simplesmente não funcionar.

Os dois níveis de acesso

Nível A outra pessoa pode Não pode
Somente leitura Ver a categoria, os lançamentos e as anotações; usá-los nas buscas e nos totais. Editar ou criar qualquer coisa ali dentro.
Leitura e conteúdo Tudo o que a leitura permite, mais criar e editar lançamentos e anotações dentro da categoria. Mexer na estrutura: renomear, mover, excluir a categoria ou criar subcategorias.

Você pode alternar entre os dois níveis depois, sem refazer o convite. A estrutura interna da categoria pertence sempre a quem compartilhou — em nenhum dos níveis o convidado renomeia a categoria, cria subcategoria ou mexe na hierarquia de dentro. Onde ela fica na árvore de cada um é outra história: veja a seção seguinte.

Cada um arruma a própria árvore

A categoria compartilhada chega no aparelho do convidado como categoria raiz, mesmo quando no aparelho do dono ela é subcategoria de outra coisa. Mas ela não precisa ficar ali: cada pessoa decide onde a categoria compartilhada fica na própria árvore e em que ordem entre as irmãs.

O que o app recusa, com uma mensagem dizendo por quê:

Tentativa Por quê
Mover uma subcategoria que veio junto A hierarquia de dentro é do dono; só a categoria compartilhada em si é reposicionável.
Pôr a categoria recebida dentro de outra categoria compartilhada O conteúdo pareceria parte de um compartilhamento com o qual não tem relação.
Pôr a categoria recebida dentro de uma categoria que você compartilha com outra pessoa A terceira pessoa veria um galho que ninguém deu a ela.
Pôr uma categoria sua dentro de uma compartilhada Ela seria invisível para o dono e ficaria órfã quando o compartilhamento acabasse.
Excluir a categoria que está segurando a compartilhada

Se você guardou uma categoria compartilhada dentro de uma categoria sua, excluir essa categoria sua fica bloqueado — a exclusão levaria junto o conteúdo do dono. Mova a compartilhada para outro lugar (ou saia do compartilhamento) e a exclusão volta a funcionar.

Quando o compartilhamento termina, essa preferência não tem mais o que descrever: o app a localiza e apaga, no aparelho e no servidor, sem deixar rastro.

Três formas de apontar a pessoa

O compartilhamento sempre acaba ligado a uma conta do PaNotas. O que muda é o que você precisa saber para chegar até ela.

Forma Quando usar O que você precisa saber
Por email Você sabe qual email a pessoa usou para criar a conta. O email exato da conta dela.
Por telefone A pessoa já está na sua agenda e ativou "ser encontrado pelo telefone". Só o número — o app acha a conta e mostra o nome antes de você enviar.
Por código Você não sabe o email, ou nem sabe se ela já tem conta. Nada. O convite fica em aberto e você manda o código por mensagem.

Por telefone

A busca só encontra quem ativou a opção em Compartilhamento > Ser encontrado pelo telefone e informou o próprio número. Um número que ninguém declarou responde exatamente como um número que não existe.

O que a busca devolve é o nome e o email da conta encontrada, para você conferir antes de compartilhar — e é contra essa conta que o compartilhamento é criado. Por isso confira o nome; e, do outro lado, um convite inesperado é só recusar.

Ativar a opção não publica seu número: ele nunca aparece para ninguém, nunca é devolvido em uma busca, e serve apenas para que quem já o tem na agenda consiga encontrar sua conta. Você pode desativar quando quiser — basta apagar o número e salvar — e a partir daí ninguém mais te encontra por ele.

Confirmando que o número é seu

Ao salvar um número, o app pode pedir uma confirmação: você recebe um código naquele número e digita-o na própria tela. Enquanto o código está em aberto, o campo do número fica travado — o código vale para o número a que foi enviado, e mexer em um por baixo do outro deixaria os dois falando de coisas diferentes. Há como pedir outro código e como cancelar; cancelando, o número da sua conta continua como estava.

Quem decide se haverá código é o servidor, e ele responde isso a cada chamada — então a tela avisa antes do Salvar quando a confirmação vai acontecer, e por qual meio o código chega. Onde a confirmação não estiver ativada, o número é guardado como declarado, e é bom saber o que isso significa: nada prova que ele pertence a quem o digitou. É a razão de o convite continuar dependendo do seu aceite, e de um número só poder estar em uma conta de cada vez — quem declarar primeiro fica com ele. Um número já confirmado é mostrado como tal na tela.

Por código

Um convite em aberto não tem destinatário: o servidor gera um código de 8 caracteres e você o envia pelo aplicativo de mensagens que já usa com a pessoa — o botão Enviar convite abre o compartilhamento do próprio sistema, com um texto pronto contendo o link e o código.

Do outro lado, há dois caminhos:

Enquanto ninguém resgata, o compartilhamento aparece para você como "aguardando resgate do código". Assim que alguém resgata, o convite deixa de estar em aberto: o código não vale mais e a lista passa a mostrar o nome de quem o pegou. O código vale por 14 dias e cada categoria pode ter até três convites em aberto ao mesmo tempo.

O código é a chave

Quem tem o código vira o destinatário do convite — é como uma chave enviada por mensagem. Mande para a pessoa certa e evite grupos. Se enviou errado, revogue o convite antes que alguém o resgate.

O ciclo de um compartilhamento

  1. Você cria o convite. Escolhe a categoria, aponta a pessoa (email, telefone ou código) e o nível de acesso. Nada acontece de imediato: o convite fica "aguardando sincronização".
  2. A sincronização leva o convite. É o servidor que valida o destinatário e envia o aviso — ou, no convite em aberto, gera o código. Se a pessoa ainda não tem conta, ela recebe um convite por email para criar uma.
  3. A pessoa aceita ou recusa. Do lado dela, o convite aparece como pendente. Ao aceitar, a mesma sincronização já começa a trazer o conteúdo da categoria.
  4. O conteúdo chega aos poucos. A tela mostra as contagens de categorias, lançamentos e anotações recebidos, e elas crescem a cada sincronização até o histórico completar.

Encerrando

O que fica travado enquanto o compartilhamento existe

Do lado de quem compartilha, o app impede movimentos que mudariam quem está dentro do galho compartilhado. Mover uma categoria para dentro dele exporia conteúdo que o convidado nunca deveria ver; mover para fora deixaria cópias permanentes no aparelho dele, sem forma de apagá-las. Por isso os dois são bloqueados, com uma mensagem explicando qual compartilhamento causou o bloqueio.

Lançamentos divididos e compartilhamento

Um lançamento dividido entre uma categoria compartilhada e uma que não é ficaria pela metade do outro lado — e o total não fecharia. Por isso o app recusa criar o compartilhamento quando existem divisões atravessando a fronteira, e bloqueia novas divisões que a atravessariam. Se a criação for recusada por esse motivo, resolva as divisões antes e tente de novo.

Próximos passos