Foro: paginación de temas (20/pág) y de posts (15/pág)

- lib/forum.ts: countTopics/countPosts + offset/limit en getTopics/getPosts
  (mismos límites que Django: FORUM_TOPICS_PER_PAGE=20, FORUM_POSTS_PER_PAGE=15).
- components/Pagination.tsx: paginación reutilizable (ventana ±2, primera/última,
  prev/next) con enlaces ?page=N; no renderiza si solo hay una página.
- Foro y tema aceptan ?page=N (clamp al rango válido).
- El formulario de respuesta solo aparece en la última página; enlace a ella si no.
- i18n: namespace Common (prev/next/page) + replyOnLastPage.

Build OK. Sin datos de foro en acore_web (estado vacío correcto).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 00:32:16 +00:00
parent 1de1002938
commit 36a4354ff7
6 changed files with 143 additions and 11 deletions
+7 -1
View File
@@ -290,7 +290,8 @@
"searchHint": "Escribe al menos 2 caracteres para buscar.",
"noResults": "No hay resultados para «{query}».",
"resultsCount": "{count} resultado(s) para «{query}».",
"in": "en"
"in": "en",
"replyOnLastPage": "Ir a la última página para responder"
},
"Admin": {
"title": "Panel de administración",
@@ -339,5 +340,10 @@
"genericError": "Algo ha salido mal. Inténtalo más tarde.",
"noSites": "No hay sitios de votación configurados todavía.",
"loginToVote": "Inicia sesión para votar."
},
"Common": {
"prev": "Anterior",
"next": "Siguiente",
"page": "Página"
}
}