Skip to content

Conversation

@guing2003
Copy link
Owner

No description provided.

- Criadas classes utilitárias `Result` e `HttpMap` para padronizar respostas e mapear códigos de erro HTTP.
- Atualizado `RepoRepository` e sua implementação para retornar `Result` e tratar falhas de conexão (`IOException`).
- Ajustado `RepoDetailViewModel` para gerenciar estados de sucesso e erro provenientes do repositório.
- Atualizado modelo `RepoDetail` com campos anuláveis para evitar inconsistências na deserialização.
- Adicionada chamada para `clearState` ao navegar para fora da `RepoDetailScreen`.
- Refatorado `UserRepository` e `UserRepositoryImpl` para retornar `Result<T>` em vez de lançar exceções.
- Atualizado `HomeViewModel` e `ProfileViewModel` para tratar os estados de `Success` e `Error` retornados pelo repositório.
- Renomeadas funções de mapeamento para `toUserGitDomain` e `toUserFirebaseDomain` para maior clareza.
- Adicionado tratamento de erros HTTP e de conexão (IOException) no `UserRepositoryImpl`.
- Atualizado `AuthRepository` para retornar `Result<UserAuth>` e `Result<Unit>`, removendo dependência direta de `FirebaseUser`.
- Adicionado modelo de domínio `UserAuth` e mapper `toUserAuthDomain`.
- Centralizado tratamento de erros de login e cadastro em `HttpMap.kt`.
- Ajustados `AuthViewModel` e `RegisterViewModel` para consumir o novo padrão de resultado.
- Removidos logs e imports não utilizados.
- Adicionada verificação de tamanho mínimo da senha (6 caracteres) para habilitar o botão de registro em `RegisterScreen`.
- Removidos imports não utilizados em `AuthRepositoryImpl` relacionados a exceções do Firebase.
- Removido import não utilizado `UserAuthDto` em `UserMapper`.
- Centralizado estado do texto de busca no `HomeViewModel` e `HomeState`.
- Removidos `LaunchedEffect` e variáveis de estado local da UI para input e trigger de busca.
- Corrigida atualização incorreta da propriedade `userForSearchGit` no ViewModel.
- Adicionada chamada para limpar estados ao navegar para o perfil ou realizar logout.
- Adicionada lógica de validação (email, senha, nome) em `AuthViewModel` e `RegisterViewModel`.
- Atualizados `AuthState` e `RegisterState` para armazenar mensagens de erro e estados de validação.
- Refatorada UI para exibir erros nos campos de texto e limpar estados ao digitar.
- Implementado controle de habilitação dos botões de ação baseado na validade do formulário (`canLogin`/`canRegister`).
- Incluída verificação de confirmação de senha no fluxo de cadastro.
…detalhes

- Adicionado suporte a exclusão (`delete`) no `RepoDao`, DataSource e Repository.
- Atualizado `RepoDetailViewModel` para verificar persistência inicial (`checkIfFavorite`) e alternar estado via `deleteRepo` ou `favoriteRepo`.
- Refatorada `RepoDetailScreen` para observar `uiState.isFavorite` em vez de gerenciar estado local, e removida chamada `clearState`.
- Ajustado layout da `ReposFavScreen` com adição de ícone de favorito nos itens e remoção de cabeçalho estático.
- Removidos imports desnecessários em `ReposFavScreen` (Spacer, height, FontWeight, sp).
- Removido import não utilizado em `RepoDao` (Delete).
- Adicionado `ForgotPasswordViewModel` e `ForgotPasswordState` para gerenciamento de estado e validação de email.
- Implementado método `forgotPassword` no `AuthRepository` e na fonte de dados `FirebaseAuth` para envio de email de redefinição.
- Atualizada `ForgotPasswordScreen` para integrar com o ViewModel, tratando estados de carregamento, erros e navegação de sucesso.
- Configurada injeção de dependência do novo ViewModel no `AppModule` e `AppNavHost`.
…ofileViewModel

- Adicionada verificação `isNullOrBlank()` para o UID no `UserRepositoryImpl` para evitar erros de autenticação.
- Removida inicialização automática de `getUserForFirebase()` no bloco `init` do `ProfileViewModel`.
- Removida variável local `userName` não utilizada na `ProfileScreen`.
@guing2003 guing2003 merged commit cb9e2e1 into master Dec 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants