'use client' type PaginationProps = { currentPage: number totalPages: number onPageChange: (page: number) => void } function getDisplayedPages(currentPage: number, totalPages: number): (number | '...')[] { const delta = 1 const range: (number | '...')[] = [] const left = Math.max(2, currentPage - delta) const right = Math.min(totalPages - 1, currentPage + delta) range.push(1) if (left > 2) range.push('...') for (let i = left; i <= right; i++) range.push(i) if (right < totalPages - 1) range.push('...') if (totalPages > 1) range.push(totalPages) return range } export default function Pagination({ currentPage, totalPages, onPageChange, }: PaginationProps) { if (totalPages <= 1) return null const pages = getDisplayedPages(currentPage, totalPages) return ( ) }