import { useMemo, useState } from 'react'; import { Button } from './ui/button'; export function usePagination(take = 100) { const [skip, setSkip] = useState(0); return useMemo( () => ({ skip, next: () => setSkip((p) => p + take), prev: () => setSkip((p) => Math.max(p - take)), take, canPrev: skip > 0, canNext: true, page: skip / take + 1, }), [skip, setSkip, take] ); } export type PaginationProps = ReturnType; export function Pagination(props: PaginationProps) { return (
Page: {props.page}
); }