diff --git a/src/components/UI/AdminPagination.tsx b/src/components/UI/AdminPagination.tsx index 9010f1f..9a2faa6 100644 --- a/src/components/UI/AdminPagination.tsx +++ b/src/components/UI/AdminPagination.tsx @@ -4,14 +4,31 @@ interface PaginationProps { currentPage: number totalPages: number setCurrentPage: React.Dispatch> + setPage: React.Dispatch> } -const AdminPagination: React.FC = ({ currentPage, totalPages, setCurrentPage }) => { +const handlePrevPage = (setCurrentPage: React.Dispatch>, setPage: React.Dispatch>, totalPages: number) => { + setCurrentPage((prev) => { + const prevPage = Math.max(prev - 1, 1) + setPage(prevPage - 1) + return prevPage + }) +} + +const handleNextPage = (setCurrentPage: React.Dispatch>, setPage: React.Dispatch>, totalPages: number) => { + setCurrentPage((prev) => { + const nextPage = Math.min(prev + 1, totalPages) + setPage(nextPage - 1) + return nextPage + }) +} + +const AdminPagination: React.FC = ({ currentPage, totalPages, setCurrentPage, setPage }) => { return (
) diff --git a/src/pages/admin/ManInterviewee.tsx b/src/pages/admin/ManInterviewee.tsx index 454b9af..d8f24f7 100644 --- a/src/pages/admin/ManInterviewee.tsx +++ b/src/pages/admin/ManInterviewee.tsx @@ -107,10 +107,11 @@ const ManInterviewee: React.FC = () => { // 페이지네이션 const [currentPage, setCurrentPage] = useState(1) const [itemsPerPage] = useState(20) - const indexOfLastApplicant = currentPage * itemsPerPage - const indexOfFirstApplicant = indexOfLastApplicant - itemsPerPage - const currentApplicants = filteredApplicants.slice(indexOfFirstApplicant, indexOfLastApplicant) + const lastApplicant = currentPage * itemsPerPage + const firstApplicant = lastApplicant - itemsPerPage + const currentApplicants = filteredApplicants.slice(firstApplicant, lastApplicant) const totalPages = Math.ceil(filteredApplicants.length / itemsPerPage) + const [page, setPage] = useState(0) return (
@@ -176,6 +177,7 @@ const ManInterviewee: React.FC = () => { currentPage={currentPage} totalPages={totalPages} setCurrentPage={setCurrentPage} + setPage={setPage} />
) diff --git a/src/pages/admin/ManNewsList.tsx b/src/pages/admin/ManNewsList.tsx index 2e97d6f..221ee50 100644 --- a/src/pages/admin/ManNewsList.tsx +++ b/src/pages/admin/ManNewsList.tsx @@ -19,6 +19,7 @@ const ManNewsList: React.FC = () => { const totalPages = Math.ceil(newsItems.length / itemsPerPage) const startIndex = (currentPage - 1) * itemsPerPage const visibleNews = newsItems.slice(startIndex, startIndex + itemsPerPage) + const [page, setPage] = useState(0) useEffect(() => { const fetchData = async () => { @@ -79,6 +80,7 @@ const ManNewsList: React.FC = () => { currentPage={currentPage} totalPages={totalPages} setCurrentPage={setCurrentPage} + setPage={setPage} /> )