.
This commit is contained in:
@@ -1,54 +1,60 @@
|
||||
import React from 'react';
|
||||
import { createRoutesFromChildren } from 'react-router-dom';
|
||||
|
||||
const PaginatedList = ({ onClick, prev, next, data, start, stop }) => {
|
||||
|
||||
if(data.length > process.env.REACT_APP_ITEM_PER_PAGE){
|
||||
if (data.length > process.env.REACT_APP_ITEM_PER_PAGE) {
|
||||
return (
|
||||
<div className='p-3 flex justify-center items-center space-x-2 border-t-2'>
|
||||
<div className="p-3 flex justify-center items-center min-h-[70px] space-x-2 border-t-2">
|
||||
{/* Render pagination buttons */}
|
||||
{!prev &&
|
||||
<button
|
||||
className={`p-2 ${prev ? 'border' : null}`}
|
||||
name='prev'
|
||||
onClick={onClick}
|
||||
>
|
||||
<><</>
|
||||
</button>
|
||||
}
|
||||
{!prev && (
|
||||
<button
|
||||
className={`p-2 border ${
|
||||
prev ? "border-black" : "border-transparent"
|
||||
} btn-shine rounded-full h-11 w-11`}
|
||||
name="prev"
|
||||
onClick={onClick}
|
||||
>
|
||||
<><</>
|
||||
</button>
|
||||
)}
|
||||
|
||||
{
|
||||
data.map((item, index)=>{
|
||||
if(index%process.env.REACT_APP_ITEM_PER_PAGE == 0 && index >= start && index <= stop){
|
||||
return (
|
||||
<button
|
||||
key={index}
|
||||
value={index}
|
||||
className={`p-2 ${index==start ? 'border' : null}`}
|
||||
onClick={onClick}
|
||||
name='page_num'
|
||||
disabled={index == start}
|
||||
>
|
||||
{index <= 0 ? index+1 : (index/process.env.REACT_APP_ITEM_PER_PAGE)+1}
|
||||
</button>
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
{!next &&
|
||||
{data.map((item, index) => {
|
||||
if (
|
||||
index % process.env.REACT_APP_ITEM_PER_PAGE == 0 &&
|
||||
index >= start &&
|
||||
index <= stop
|
||||
) {
|
||||
return (
|
||||
<button
|
||||
className={`p-2 ${next ? 'border' : null}`}
|
||||
name='next'
|
||||
key={index}
|
||||
value={index}
|
||||
className={`p-2 border ${
|
||||
index === start ? "border-black" : "border-transparent"
|
||||
} btn-shine rounded-full h-11 w-11`}
|
||||
onClick={onClick}
|
||||
name="page_num"
|
||||
disabled={index === start}
|
||||
>
|
||||
<>></>
|
||||
{index <= 0
|
||||
? index + 1
|
||||
: index / process.env.REACT_APP_ITEM_PER_PAGE + 1}
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}else{
|
||||
return null
|
||||
);
|
||||
}
|
||||
})}
|
||||
|
||||
{!next && (
|
||||
<button
|
||||
className={`p-2 border ${
|
||||
next ? "border-black" : "border-transparent"
|
||||
} btn-shine rounded-full h-11 w-11`}
|
||||
name="next"
|
||||
onClick={onClick}
|
||||
>
|
||||
<>></>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user