import { getTranslations } from 'next-intl/server' import { Link } from '@/i18n/navigation' /** * Paginación por número de página. `hrefFor(p)` construye la ruta de cada página * (p.ej. `/forum/5?page=2`). No renderiza nada si solo hay una página. */ export async function Pagination({ page, totalPages, hrefFor, }: { page: number totalPages: number hrefFor: (page: number) => string }) { if (totalPages <= 1) return null const t = await getTranslations('Common') // Ventana de páginas alrededor de la actual. const from = Math.max(1, page - 2) const to = Math.min(totalPages, page + 2) const pages: number[] = [] for (let p = from; p <= to; p++) pages.push(p) const cls = (active: boolean) => `inline-flex min-w-9 items-center justify-center rounded border px-2.5 py-1 text-sm ${ active ? 'border-nw-gold bg-nw-gold/15 font-semibold text-nw-gold-light' : 'border-nw-border/60 text-nw-muted hover:border-nw-gold/60 hover:text-nw-gold-light' }` return ( ) }