[Feat]: Adição da paginacao na tela de transtornos#858
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jefter-dev
left a comment
There was a problem hiding this comment.
Precisamos ajustar dois pontos nesta tela:
- A paginação foi implementada manualmente dentro da tela, mas o projeto já possui o componente compartilhado
apps/apae/src/components/shared/pagination.tsx. Usar esse componente para evitar duplicação de código e manter o padrão do sistema. - Ajustar a margem/espaçamento da página, pois atualmente não está seguindo o mesmo padrão visual das demais telas.
A ideia é remover a lógica/renderização manual da paginação, como renderPageNumbers, botões "Anterior/Próxima", select de itens por página e total de registros feitos diretamente na tela, substituindo pelo componente compartilhado.
O que foi feito
Implementada a listagem de Transtornos seguindo a arquitetura de Fatiamento Vertical (Vertical Slicing) do projeto. A tela conta com busca com debounce e paginação gerenciadas via
nuqs(Single Source of Truth), resolvendo definitivamente os problemas de persistência de UI. A comunicação com o backend foi construída utilizando chamadas nativas defetchdireto da camada de domínio, alinhando-se ao padrão da equipe.Estrutura criada/modificada:
Critérios de aceite atendidos:
✅ Estrutura criada seguindo o padrão de Vertical Slicing (camada
app/isolada dadomains/)✅ Paginação e busca integradas com a URL via
nuqs(Resolução da Issue #508)✅ Input de busca otimizado com debounce (500ms)
✅ Integração com o backend utilizando chamadas nativas (
fetcheURLSearchParams)✅ Prevenção de Race Conditions com
AbortController(tratando a exceção nativaAbortError)✅ Frontend protegido com Suspense boundary para garantir a compilação do Next.js
Observações:
page.tsxatua exclusivamente como roteador, garantindo que toda a inteligência e o estado fiquem retidos no hook do domínio.Evidências
Implementacao.de.paginacao.em.transtornos.mp4