SimplePagination
Description
A lightweight pagination component that displays item count and provides previous/next navigation. Shows the current count out of total items with chevron buttons for navigating between pages.
Import
import { SimplePagination } from '@components/common/SimplePagination';
Usage
import { SimplePagination } from '@components/common/SimplePagination';
import { useState } from 'react';
function ProductList() {
const [page, setPage] = useState(1);
return (
<div>
{/* Your content here */}
<SimplePagination
total={150}
count={20}
page={page}
hasNext={true}
setPage={setPage}
/>
</div>
);
}
Props
| Name | Type | Default | Description |
|---|---|---|---|
| total | number | - | Total number of items (required) |
| count | number | - | Current count of visible items (required) |
| page | number | - | Current page number (required) |
| hasNext | boolean | - | Whether there are more pages (required) |
| setPage | (page: number) => void | - | Callback to update page number (required) |
Example: Product Listing
import { SimplePagination } from '@components/common/SimplePagination';
import { useState } from 'react';
function ProductListing({ products }) {
const [currentPage, setCurrentPage] = useState(1);
const itemsPerPage = 20;
const totalItems = products.length;
const currentCount = Math.min(currentPage * itemsPerPage, totalItems);
const hasMorePages = currentPage * itemsPerPage < totalItems;
return (
<div>
<div className="product-grid">
{/* Display products */}
</div>
<SimplePagination
total={totalItems}
count={currentCount}
page={currentPage}
hasNext={hasMorePages}
setPage={setCurrentPage}
/>
</div>
);
}