Skip to content

Configurações — Módulo

Gerado pelo Writer (Reversa) em 2026-05-11 doc_level: detalhado

Visão Geral

Módulo de preferências do usuário que controla a aparência da visualização de músicas (fonte, tamanho, estilo do refrão) e o tema da UI. Configurações são persistidas via MMKV e carregadas no Redux na inicialização do app.

Regras de Negócio

  • Configurações persistidas via MMKV (react-native-mmkv) — acesso síncrono 🟢
  • Carregamento inicial só executa uma vez (guard via ConfiguracoesSelect.iniciado) 🟢
  • Tema alterado aplica UnistylesRuntime.setTheme(tema) sincrônico via RTK 🟢
  • Fallback para valores padrão se chave ausente no MMKV 🟢
  • fonte: PADRAO, tamanho: NORMAL, estiloRefrao: NEGRITO, tema: CLARO
  • Configurações de música e tema são agrupadas em GrupoConfiguracoes 🟢

Requisitos Funcionais

ID Requisito Prioridade Critério de Aceite
RF-01 Carregar configurações do MMKV na inicialização Must carregarConfiguracoes executado apenas uma vez; store preenchido
RF-02 Alterar família de fonte Must alterarFamiliaFonte persiste e atualiza store
RF-03 Alterar tamanho de fonte Must alterarTamanhoFonte persiste e atualiza store
RF-04 Alterar estilo do refrão Must alterarEstiloRefrao persiste e atualiza store
RF-05 Alterar tema Must alterarTema persiste, atualiza store e aplica UnistylesRuntime.setTheme

Enums

Enum Valores
FonteMusica PADRAO, SERIFADO, MONOESPACADA
TamanhoFonte NORMAL, MODERADO, GRANDE
EstiloRefrao NEGRITO, ITALICO, CAIXA_ALTA
Tema CLARO, ESCURO, CLARO_LEGADO, CLARO_ALTERNATIVO

Rastreabilidade de Código

Arquivo Função / Classe Cobertura
src/store/ui/Configuracoes/Configuracoes.action.ts carregarConfiguracoes, alterarFamiliaFonte, alterarTamanhoFonte, alterarEstiloRefrao, alterarTema 🟢
src/store/ui/Configuracoes/Configuracoes.types.ts Enums, interfaces 🟢
src/repository/ConfiguracoesUsuarioRepository.ts getConfiguracoes, setConfiguracao 🟢
src/view/screen/ConfiguracoesScreen.tsx ConfiguracoesScreen 🟡

Dependências Externas

Dependência Uso
react-native-mmkv Persistência síncrona de configurações
react-native-unistyles UnistylesRuntime Aplicação de tema em runtime