Browse Source

fix(dashboard): Guard against too many items per page in data table

Michael Bromley 3 months ago
parent
commit
443222885c

+ 1 - 1
packages/dashboard/src/lib/components/data-table/data-table.tsx

@@ -311,7 +311,7 @@ export function DataTable<TData>({
                         </TableHeader>
                         <TableBody>
                             {isLoading && !data?.length ? (
-                                Array.from({ length: pagination.pageSize }).map((_, index) => (
+                                Array.from({ length: Math.min(pagination.pageSize, 100) }).map((_, index) => (
                                     <TableRow
                                         key={`skeleton-${index}`}
                                         className="animate-in fade-in duration-100"

+ 1 - 1
packages/dashboard/src/lib/components/shared/paginated-list-data-table.tsx

@@ -456,7 +456,7 @@ export function PaginatedListDataTable<
             const mergedFilter = { ...filter, ...searchFilter };
             const variables = {
                 options: {
-                    take: itemsPerPage,
+                    take: Math.min(itemsPerPage, 100),
                     skip: (page - 1) * itemsPerPage,
                     sort,
                     filter: mergedFilter,