feat(profile): Adiciona estrutura inicial da tela de Perfil (WIP)
Descrição
Este PR implementa a funcionalidade completa da tela de Editar Perfil, desde a estrutura inicial até a integração total com o backend, validação de campos e componentização.
Principais Funcionalidades:
-
Integração de API:
handleSave(PUT /users/{id}),handleDeleteAccount(DELETE /users/{id}) ehandleLogout(auth.signOut) estão 100% funcionais. -
Validação: Adicionado sistema de validação (
validateFields) que destaca os campos com borda vermelha (errorprop) e exibe umAlertcom mensagens de erro específicas. -
Componentização: Criados
TaskeeDatePickerFieldeTaskeePhoneFieldpara encapsular a lógica de seleção de data e a lógica de DDI+Telefone. -
Refatoração de Dropdown: Substituída a biblioteca de dropdown por
react-native-dropdown-picker, que corrige o bug deVirtualizedList(comlistMode="MODAL") e adiciona a funcionalidade de busca.
Principais Correções de Bugs:
-
Corrigida a lógica de
splitPhoneNumberpara separar DDI/Telefone corretamente. -
Corrigida a "race condition" (bug de
useEffect) que fazia os campos "País", "Estado" e "Cidade" ficarem em branco após Salvar ou Cancelar. -
Corrigido o bug onde clicar em "Editar Perfil" (agora no Header) resetava os estados do formulário.
-
Adicionadas melhorias de UI, como "País (Brasil)" e "Estado (RS)".
US e Task
Link da tarefa
- US:
- Task:
Tipo de Mudança
-
Nova funcionalidade (
feat) -
Correção de bug (
fix) - Outro
Como Testar
Passos para reproduzir/testar:
-
- Navegue até a tela de Perfil. Verifique se todos os dados (incluindo DDI/Telefone, País (Brasil), Estado (RS)) são carregados corretamente.
-
- Clique no ícone de Editar no cabeçalho.
-
- Teste as Validações:
- Apague o "Nome" e clique em "Salvar".
- Verifique se as bordas ficam vermelhas e se o Alerta exibe as mensagens corretas (ex: "O nome não pode estar em branco.").
-
- Teste os Dropdowns:
- Abra o dropdown "País". Verifique se a barra de busca funciona.
- Selecione "Brazil (Brasil)", abra "Estado" e verifique a busca e as siglas (RS).
-
- Teste a Lógica de Estado:
- Altere o Estado e clique em "Salvar". Verifique se o campo não fica em branco após o sucesso.
- Altere o Estado, clique em "Cancelar". Verifique se o estado original (com a sigla) é restaurado.
-
- Teste as Ações:
- Faça uma alteração válida e clique em "Salvar". Verifique a mensagem de sucesso.
- Clique em "Sair da Conta" e verifique se é redirecionado para a tela inicial do app.
- Faça login novamente, vá ao perfil e clique em "Deletar Conta". Verifique o modal de confirmação e a ação.
Checklist
- Código segue o padrão definido
- As string estão sendo pegas do arquivo String.ts
- Documentação atualizada (se necessário)
- PR revisado antes de enviar