import React from "react"; import { Button } from "../../tremor/Button"; import { Text } from "../../tremor/Text"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../tremor/Select"; interface PaginationComponentProps { pagination: { currentPage: number; pageSize: number; }; stats: { totalPages: number; totalRows: number; // Added totalRows to the stats property }; setPagination: React.Dispatch>; padding?: number; } export const PaginationComponent: React.FC = ({ pagination, stats, setPagination, padding }) => { const { currentPage, pageSize } = pagination; const { totalPages } = stats; const handlePageSizeChange = (val: string) => { const newPageSize = parseInt(val) || 10; setPagination((prev) => ({ ...prev, pageSize: newPageSize })); }; const handlePageChange = (val: string) => { const newPage = parseInt(val) || 1; if (newPage >= 1 && newPage <= totalPages) { setPagination((prev) => ({ ...prev, currentPage: newPage })); } }; const handlePreviousPage = () => { setPagination((prev) => prev.currentPage > 1 ? { ...prev, currentPage: prev.currentPage - 1 } : prev ); }; const handleNextPage = () => { setPagination((prev) => prev.currentPage < totalPages ? { ...prev, currentPage: prev.currentPage + 1 } : prev ); }; return ( Display{" "} Page{" "} of {totalPages}
); };