Visualizar Livro — Tarefas de Implementação
Gerado pelo Writer (Reversa) em 2026-05-11
doc_level: detalhado
Pré-requisitos
- [ ]
LivrosRepository.findByIdimplementado e funcional - [ ]
livrosSliceconfigurado no store root comlivrosAdapter - [ ]
BuscaMusicasViewdisponível e aceitando proplivro: EdicaoLivro | undefined - [ ] Rotas
AppStack.LivroeAppStack.LivroDetalhesdefinidas
Tarefas
- [ ] T-01 — Implementar
LivrosRepository.findById(id)com JOIN livro + editora + edicao_livro - Origem no legado:
src/repository/LivrosRepository.ts—findById+findAllWithWhere - Critério de pronto: Retorna
EdicaoLivrocorreto para ID existente;undefinedpara ID inexistente -
Confiança: 🟢
-
[ ] T-02 — Implementar thunk
LivrosAction.carregarLivrocom guardcondition - Origem no legado:
src/store/Livros/Livros.action.ts—carregarLivro - Critério de pronto: Thunk só executa quando livro não está no store;
rejectWithValue('not found')em caso de ausência -
Confiança: 🟢
-
[ ] T-03 — Adicionar handler
rejectedparacarregarLivrono slice - Origem no legado:
src/store/Livros/Livros.reducer.ts—extraReducers(handler ausente) - Critério de pronto: Estado passa para
FALHOUquando livro não é encontrado -
Confiança: 🟡
-
[ ] T-04 — Implementar
LivroScreencomLivroHeadereBuscaMusicasView - Origem no legado:
src/view/screen/LivroScreen.tsx - Critério de pronto: Header exibe título, edição, editora;
BuscaMusicasViewfiltra poridEdicaoLivro -
Confiança: 🟢
-
[ ] T-05 — Adicionar feedback visual (loading indicator) enquanto livro carrega
- Origem no legado: Não implementado na
LivroScreen - Critério de pronto: Skeleton ou spinner exibido quando
livro === undefinede estado é CARREGANDO -
Confiança: 🟡
-
[ ] T-06 — Tratar erro de livro não encontrado na UI
- Origem no legado: Não implementado
- Critério de pronto: Quando thunk é rejeitado com 'not found', usuário vê mensagem de erro e botão para voltar
- Confiança: 🟡
Tarefas de Teste
- [ ] TT-01 — Happy path: livro não está no store → fetch → header renderizado
- [ ] TT-02 — Cache hit: livro já no store → sem fetch → header imediato
- [ ] TT-03 — ID inexistente: thunk rejeitado → UI exibe feedback de erro
Ordem Sugerida
- T-01 (repositório)
- T-02 (thunk)
- T-03 (reducer — completar handlers)
- T-04 (UI principal)
- T-05, T-06 (UX polish)
Lacunas Pendentes (🔴)
- Comportamento de
BuscaMusicasViewcomlivro={undefined}não confirmado — validar integração - Não há decisão de design para o estado de livro não encontrado (navegar de volta? exibir erro inline?)