import { useTransition } from 'react'; import { ColumnDef } from '@tanstack/react-table'; import { Loader } from 'lucide-react'; import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; type GenericDataTableProps = { columns: ColumnDef[]; data: TData[]; perPage: number; currentPage: number; totalPages: number; }; export function GenericDataTable({ columns, data, perPage, currentPage, totalPages, }: GenericDataTableProps) { const [isPending, startTransition] = useTransition(); const updateSearchParams = useUpdateSearchParams(); const onPaginationChange = (page: number, perPage: number) => { startTransition(() => { updateSearchParams({ page: page.toString(), perPage: perPage.toString(), }); }); }; return (
{(table) => } {isPending && (
)}
); }