"use client"; type PaginationProps = { page: number; totalPages: number; onPageChange: (page: number) => void; pageSize: number; onPageSizeChange: (pageSize: number) => void; pageSizeOptions?: number[]; className?: string; }; export default function Pagination({ page, totalPages, onPageChange, pageSize, onPageSizeChange, pageSizeOptions = [20, 50, 100], className }: PaginationProps) { const windowPages = Array.from({ length: totalPages }, (_, i) => i + 1).filter( (pageNumber) => pageNumber === 1 || pageNumber === totalPages || Math.abs(pageNumber - page) <= 2 ); return (
Seite {page} von {totalPages}
{windowPages.map((pageNumber, index) => { const previous = windowPages[index - 1]; const gap = previous && pageNumber - previous > 1; return ( {gap && } ); })}
); }