Painel Administrativo
Central de gestão da expedição — aprovações, usuários, conteúdo, notificações e configurações globais.
O que é
O Painel Administrativo é a área restrita do app para usuários com perfil de administrador. Ele centraliza todas as ferramentas de gestão da expedição que não estão disponíveis para participantes regulares: aprovação de novos cadastros, gerenciamento de usuários, publicação de conteúdo em massa, envio de notificações globais, importação de histórico do WhatsApp e configurações avançadas do app.
O Painel Admin é organizado em 6 abas: Visão Geral (dashboard com métricas), Aprovações (cadastros pendentes), Usuários (lista completa), Conteúdo (notícias, enquetes, documentos), Checklist (progresso dos pilotos) e Configurações (parâmetros globais do app). Apenas usuários com role == 'admin' ou role == 'superadmin' no Firestore têm acesso a esta área.
O superadministrador (e-mail hawkinf@gmail.com) tem acesso irrestrito e é o único que pode promover outros usuários a administradores. Administradores regulares podem gerenciar conteúdo e aprovações, mas não podem alterar outros admins ou as configurações estruturais do app.
Aprovações
A aba de Aprovações é onde os administradores analisam e processam novos cadastros de participantes. Quando um usuário se cadastra no app (por e-mail ou Google), seu status inicial é "Aguardando aprovação" e ele não tem acesso às funcionalidades até que um admin aprove sua conta.
A aba exibe quatro sub-abas: Aguardando (aprovação pendente), Aprovados, Rejeitados e Bloqueados. Cada solicitação mostra nome, e-mail, método de login, data do cadastro e, se fornecida, uma mensagem de apresentação.
- Toque em um cadastro pendente para ver as informações completas do solicitante.
- Verifique se o participante é um piloto esperado para a expedição.
- Toque em Aprovar para liberar o acesso. O usuário recebe um e-mail de confirmação automático.
- Toque em Rejeitar para negar o acesso. Informe o motivo (opcional) — o usuário receberá um e-mail de rejeição.
- Use Bloquear para casos onde o acesso deve ser negado permanentemente (e-mail não reconhecido, duplicata etc.).
Gestão de usuários
A aba de Usuários exibe a lista completa de todos os usuários cadastrados no app, incluindo aprovados, pendentes, rejeitados e bloqueados. Cada usuário é listado com nome, e-mail, status, data de cadastro, último acesso e role (client, admin, superadmin).
Ações disponíveis na gestão de usuários:
- Alterar status — mudar entre Aprovado, Rejeitado e Bloqueado a qualquer momento.
- Promover a admin — promover um usuário aprovado para administrador (apenas superadmin).
- Ver perfil completo — ver todos os dados do usuário, incluindo e-mail e informações privadas não exibidas publicamente.
- Enviar notificação direta — enviar um aviso específico para um usuário ou grupo.
- Reset de conta — redefinir o estado da conta do usuário (ver seção de Reset abaixo).
Gestão de conteúdo
A aba de Conteúdo oferece um painel centralizado para gerenciar todas as publicações do app: notícias, enquetes, documentos, itens de checklist e eventos da agenda. Cada tipo de conteúdo tem uma sub-aba dedicada com listagem completa e ações de criação, edição e exclusão.
O painel de Conteúdo também exibe estatísticas de engajamento: quais notícias foram mais lidas, quais enquetes tiveram maior participação, quais documentos foram mais baixados e quais itens do checklist têm mais pilotos com pendência.
A aba de Notificações no painel de Conteúdo permite enviar um aviso push para todos os participantes de uma vez, com título e mensagem customizados. Esta funcionalidade é reservada para comunicados importantes e deve ser usada com moderação.
Reset de dados
A funcionalidade de Reset de conta permite que administradores redefinam o estado de um usuário específico no Firestore — útil quando um piloto precisa recomeçar o processo de cadastro, quando há dados corrompidos na conta, ou quando um participante é substituído por outro na expedição.
- Na aba Usuários, localize o usuário a ser resetado.
- Toque no nome do usuário para ver o perfil completo.
- Toque em "Reset de conta" no final da página de detalhes.
- Leia o aviso de confirmação — o reset é irreversível.
- Confirme digitando o e-mail do usuário no campo de verificação.
- Toque em Confirmar reset. Todos os listeners do Firestore são encerrados antes da exclusão para evitar deadlocks.
Problemas comuns
O Painel Admin não aparece no menu para minha conta.
O Painel Admin só é exibido para usuários com role 'admin' ou 'superadmin' no Firestore. Se você deve ser administrador mas não vê o painel, peça ao superadmin que verifique sua role. Após a alteração, faça logout e login para recarregar as permissões.
Aprovei um usuário mas ele ainda não consegue acessar o app.
Após a aprovação, o usuário precisa fazer logout e login novamente para que as permissões atualizadas sejam carregadas. O e-mail de aprovação é enviado automaticamente com instruções. Se o e-mail não chegou, verifique a coleção 'mail' no Firestore para ver o status de envio.
O reset de conta travou o app (tela congela após confirmar).
Esta situação foi corrigida em versões recentes do app. Se ainda ocorrer, feche e reabra o app. O reset pode ter sido concluído mesmo que o app tenha travado — verifique no Firestore se os dados do usuário foram removidos antes de tentar novamente.