yoosangwook 4eb2497139 fix: 페이징 단위 넘기기 버튼 오류 수정
- 다음 단위 없는데도 넘어가는 현상 수정
2024-10-24 17:57:38 +09:00

44 lines
1.4 KiB
JavaScript

import usePagination from '@/hooks/usePagination'
export default function QPagination(props) {
const { handleChangePage = () => {}, pagePerBlock = 10 } = props
const { currentPage, changePage, pageGroup, totalPages, pages, startPage, endPage, pageRange } = usePagination(props)
const handlePage = (page) => {
handleChangePage(page)
changePage(page)
}
return (
<ol className="pagination">
<li className="page-item first">
<button onClick={() => handlePage(1)}></button>
</li>
<li className="page-item prev">
<button
onClick={() => {
if (currentPage === 1) return
handlePage(Math.max(1, (pageGroup - 2) * pagePerBlock + 1))
}}
></button>
</li>
{pageRange.map((page) => (
<li className={page === currentPage ? `page-item on` : `page-item`} key={page}>
<button onClick={() => handlePage(page)}>{page}</button>
</li>
))}
<li className="page-item next">
<button
onClick={() => {
if (currentPage === totalPages) return
if (pageGroup * pagePerBlock + 1 <= totalPages) handlePage(Math.max(1, pageGroup * pagePerBlock + 1))
}}
></button>
</li>
<li className="page-item last">
<button onClick={() => handlePage(totalPages)}></button>
</li>
</ol>
)
}