diff --git a/dashboard/src/features/entity-table/components/column-header-combo-filter.tsx b/dashboard/src/features/entity-table/components/column-header-combo-filter.tsx
@@ -36,13 +36,18 @@ export function DataTableColumnHeaderFilterOption<TData, TValue>(
const [selectedOption, setSelectedOption] = React.useState<string | null>(
null
)
- const { filters } = useEntityTableContext();
+ const { filters, table } = useEntityTableContext();
function handleClearingFilter() {
filters.setColumnsFilter({ ...filters.columnsFilter, [column.id]: undefined });
setSelectedOption(null);
}
+ React.useEffect(() => {
+ // if (table.getState().pagination.pageIndex !== 1)
+ table.setPageIndex(1);
+ }, [table, selectedOption])
+
if (isDesktop) {
return (
<Popover open={open} onOpenChange={setOpen}>
diff --git a/dashboard/src/features/entity-table/components/table-pagination.tsx b/dashboard/src/features/entity-table/components/table-pagination.tsx
@@ -13,16 +13,11 @@ import {
SelectValue,
} from "@marzneshin/components";
import { useTranslation } from "react-i18next";
-import { useEffect } from "react";
import { Table } from "@tanstack/react-table"
export function DataTablePagination<TData>({ table }: { table: Table<TData> }) {
const { t } = useTranslation();
- useEffect(() => {
- if (table.getState().pagination.pageIndex === 1) table.setPageIndex(2);
- }, [table]);
-
return (
<div className="flex justify-between items-center p-2 w-full">
{table.options.onRowSelectionChange && (
@@ -68,10 +63,12 @@ export function DataTablePagination<TData>({ table }: { table: Table<TData> }) {
</SelectContent>
</Select>
</div>
- <div className="flex justify-center items-center text-sm font-medium w-[100px]">
- Page {table.getState().pagination.pageIndex + 1} of{" "}
- {table.getPageCount() - 1}
- </div>
+ {(table.getPageCount() - 1) !== 0 &&
+ <div className="flex justify-center items-center text-sm font-medium w-[100px]">
+ Page {table.getState().pagination.pageIndex + 1} of{" "}
+ {table.getPageCount() - 1}
+ </div>
+ }
<div className="flex items-center space-x-2">
<Button
variant="outline"
diff --git a/dashboard/src/features/users/services/users.query.ts b/dashboard/src/features/users/services/users.query.ts
@@ -15,7 +15,8 @@ export async function fetchUsers({ queryKey }: EntityQueryKeyType): FetchEntityR
const filters = queryKey[4].filters;
return fetch(`/users`, {
query: {
- ...pagination,
+ page: pagination.page === 0 ? 1 : pagination.page,
+ size: pagination.size,
...filters,
username: primaryFilter,
descending: queryKey[3].desc,