Skip to content

ADR-006: Múltiplas Trocas de Lib de Reordenação

Status: Em progresso (reordenação atualmente desabilitada) Data: feature/44-reordenar-musicas-em-repertorio → present Tipo: ADR Retroativo


Contexto

Repertórios precisam ter ordem controlada pelo usuário — a música de "Entrada" deve vir antes do "Ofertório". Drag-and-drop é a UX esperada para reordenação.

Decisão e Histórico

Tentativa 1 — react-native-dragabble: Commit 2f6d7fcc: feat: replace react-native-dragabble to react-native-sortables → Substituído por instabilidade ou limitações não documentadas

Tentativa 2 — react-native-sortables: Commit 47dddafb: feat: replace react-native-sortables to react-native-reorderable-list → Substituído; motivo não documentado no commit

Tentativa 3 — react-native-reorderable-list: Adotado, mas ainda com problemas não resolvidos.

Estado atual: Commit 1da34a8d: fix(repertorio): desabilitado reordenação por enquanto → Reordenação completamente desabilitada na UI. A DT-08 rastreia essa dívida.

Alternativas Consideradas (em ordem de tentativa)

  1. react-native-dragabble — instável
  2. react-native-sortables — instável ou limitado
  3. react-native-reorderable-list — adotado mas com bug ativo no momento
  4. Solução manual com PanResponder — não avaliada ainda

Consequências

  • 🔴 Funcionalidade de reordenação ausente na versão atual
  • 🟡 Ordem de músicas ainda é salva como JSON (ordem_musicas) — a infraestrutura de dados está pronta
  • 🟡 Dependência de qualidade de libs terceiras de nicho
  • 🟢 UI de reordenação pode ser reabilitada com patch da lib ou troca futura