UNPKG

@premieroctet/next-admin

Version:

Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje

33 lines (32 loc) 955 B
import { useMemo, useState } from "react"; const useLocalPagination_useLocalPagination = (data, pageSize)=>{ const [pageIndex, setPageIndex] = useState(0); const dataToRender = useMemo(()=>{ if (!pageSize) return data; const startIndex = pageIndex * pageSize; const endIndex = startIndex + pageSize; return data.slice(startIndex, endIndex); }, [ data, pageIndex, pageSize ]); const totalPages = useMemo(()=>{ if (!pageSize) return 1; return Math.ceil(data.length / pageSize); }, [ data, pageSize ]); const handlePageChange = (newPage)=>{ if (newPage >= 0 && newPage < totalPages) setPageIndex(newPage); }; return { dataToRender, totalPages, handlePageChange, pageIndex }; }; const useLocalPagination = useLocalPagination_useLocalPagination; export { useLocalPagination as default };