Show pagination

This commit is contained in:
Brad Traversy
2024-07-15 12:40:42 -04:00
parent fada26f8a3
commit 22cdc754c0
+6 -1
View File
@@ -4,13 +4,16 @@ import Pagination from '@/components/Pagination';
import Property from '@/models/Property'; import Property from '@/models/Property';
import connectDB from '@/config/database'; import connectDB from '@/config/database';
const PropertiesPage = async ({ searchParams: { pageSize = 3, page = 1 } }) => { const PropertiesPage = async ({ searchParams: { pageSize = 9, page = 1 } }) => {
await connectDB(); await connectDB();
const skip = (page - 1) * pageSize; const skip = (page - 1) * pageSize;
const total = await Property.countDocuments({}); const total = await Property.countDocuments({});
const properties = await Property.find({}).skip(skip).limit(pageSize); const properties = await Property.find({}).skip(skip).limit(pageSize);
// Calculate if pagination is needed
const showPagination = total > pageSize;
return ( return (
<> <>
<section className='bg-blue-700 py-4'> <section className='bg-blue-700 py-4'>
@@ -30,11 +33,13 @@ const PropertiesPage = async ({ searchParams: { pageSize = 3, page = 1 } }) => {
))} ))}
</div> </div>
)} )}
{showPagination && (
<Pagination <Pagination
page={parseInt(page)} page={parseInt(page)}
pageSize={parseInt(pageSize)} pageSize={parseInt(pageSize)}
totalItems={total} totalItems={total}
/> />
)}
</div> </div>
</section> </section>
</> </>