import { Button } from '@/components/ui/button'; import { ChevronLeft, ChevronRight } from 'lucide-react'; interface PaginationProps { currentPage: number; totalPages: number; onPageChange: (page: number) => void; isLoading?: boolean; } export function Pagination({ currentPage, totalPages, onPageChange, isLoading }: PaginationProps) { const getPageNumbers = () => { const pages: (number | string)[] = []; const showPages = 5; if (totalPages <= showPages) { for (let i = 1; i <= totalPages; i++) { pages.push(i); } } else { if (currentPage <= 3) { for (let i = 1; i <= 4; i++) pages.push(i); pages.push('...'); pages.push(totalPages); } else if (currentPage >= totalPages - 2) { pages.push(1); pages.push('...'); for (let i = totalPages - 3; i <= totalPages; i++) pages.push(i); } else { pages.push(1); pages.push('...'); for (let i = currentPage - 1; i <= currentPage + 1; i++) pages.push(i); pages.push('...'); pages.push(totalPages); } } return pages; }; if (totalPages <= 1) return null; return (