Skip to content

[Feat]: Adição da paginacao na tela de transtornos#858

Open
roberto-bento wants to merge 5 commits into
devfrom
837-adicionar-paginacao-na-tela-de-transtornos
Open

[Feat]: Adição da paginacao na tela de transtornos#858
roberto-bento wants to merge 5 commits into
devfrom
837-adicionar-paginacao-na-tela-de-transtornos

Conversation

@roberto-bento

@roberto-bento roberto-bento commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

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 de fetch direto da camada de domínio, alinhando-se ao padrão da equipe.

Estrutura criada/modificada:

apps/apae/src/app/disorders/
└── page.tsx (Ponto de entrada, delega renderização para <DisordersList />)

apps/apae/src/domains/disorders/list/
├── disorders-list.tsx (Interface visual com Suspense e consumo do hook)
└── use-disorders-list.ts (Inteligência centralizada: nuqs, debounce, fetch nativo e exclusão)

Critérios de aceite atendidos:
✅ Estrutura criada seguindo o padrão de Vertical Slicing (camada app/ isolada da domains/)
✅ 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 (fetch e URLSearchParams)
✅ Prevenção de Race Conditions com AbortController (tratando a exceção nativa AbortError)
✅ Frontend protegido com Suspense boundary para garantir a compilação do Next.js

Observações:

  • O arquivo page.tsx atua exclusivamente como roteador, garantindo que toda a inteligência e o estado fiquem retidos no hook do domínio.
  • O fluxo de dados consome a API do backend de forma direta, isolando a complexidade e evitando sobrecarga no cliente.

Evidências

Implementacao.de.paginacao.em.transtornos.mp4

@roberto-bento roberto-bento self-assigned this Jun 10, 2026
@roberto-bento roberto-bento added frontend Lista de tarefas para frontend feature Para novas funcionalidades que estão sendo desenvolvidas. 5 Complexidade 5 labels Jun 10, 2026
@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ecd130de-f09b-4aea-a336-b4c0d44208cf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 837-adicionar-paginacao-na-tela-de-transtornos

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread apps/apae/src/app/api/transtornos/route.ts Outdated
Comment thread apps/apae/src/app/disorders/page.tsx
@roberto-bento roberto-bento requested a review from jefter-dev June 16, 2026 22:31

@jefter-dev jefter-dev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5 Complexidade 5 feature Para novas funcionalidades que estão sendo desenvolvidas. frontend Lista de tarefas para frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants