diff --git a/web/src/features/accounts/components/data-table-pagination.tsx b/web/src/features/accounts/components/data-table-pagination.tsx index e237731..1d2f420 100644 --- a/web/src/features/accounts/components/data-table-pagination.tsx +++ b/web/src/features/accounts/components/data-table-pagination.tsx @@ -71,6 +71,7 @@ export function DataTablePagination({ { + localStorage.setItem('bichon_oauth2_page_size', value); table.setPageSize(Number(value)) }} > diff --git a/web/src/features/oauth2/components/oauth2-table.tsx b/web/src/features/oauth2/components/oauth2-table.tsx index 84e3009..1d92d13 100644 --- a/web/src/features/oauth2/components/oauth2-table.tsx +++ b/web/src/features/oauth2/components/oauth2-table.tsx @@ -74,6 +74,12 @@ export function Oauth2Table({ columns, data }: DataTableProps) { rowSelection, columnFilters, }, + initialState: { + pagination: { + pageIndex: 0, + pageSize: Number(localStorage.getItem('bichon_oauth2_page_size')) || 10 + } + }, enableRowSelection: true, onRowSelectionChange: setRowSelection, onSortingChange: setSorting, diff --git a/web/src/features/search/index.tsx b/web/src/features/search/index.tsx index a1e32cb..e9c1d50 100644 --- a/web/src/features/search/index.tsx +++ b/web/src/features/search/index.tsx @@ -51,7 +51,7 @@ export default function Search() { page, pageSize, setPage, - setPageSize, + setSearchPageSize, setSortBy, setSortOrder, filter, @@ -60,7 +60,7 @@ export default function Search() { const handleSetPageSize = (pageSize: number) => { setPage(1); - setPageSize(pageSize) + setSearchPageSize(pageSize) } const handleTagToggle = (tag: string) => { diff --git a/web/src/features/settings/proxy/components/data-table-pagination.tsx b/web/src/features/settings/proxy/components/data-table-pagination.tsx index 7ea141a..f8bd7cc 100644 --- a/web/src/features/settings/proxy/components/data-table-pagination.tsx +++ b/web/src/features/settings/proxy/components/data-table-pagination.tsx @@ -71,6 +71,7 @@ export function DataTablePagination({ { + localStorage.setItem('bichon_apitoken_page_size', value); table.setPageSize(Number(value)) }} > diff --git a/web/src/features/users/api-tokens/components/table.tsx b/web/src/features/users/api-tokens/components/table.tsx index 4414fbb..242ebd1 100644 --- a/web/src/features/users/api-tokens/components/table.tsx +++ b/web/src/features/users/api-tokens/components/table.tsx @@ -75,6 +75,12 @@ export function ApiTokensTable({ columns, data }: DataTableProps) { rowSelection, columnFilters, }, + initialState: { + pagination: { + pageIndex: 0, + pageSize: Number(localStorage.getItem('bichon_apitoken_page_size')) || 10 + } + }, enableRowSelection: true, onRowSelectionChange: setRowSelection, onSortingChange: setSorting, diff --git a/web/src/features/users/roles/components/data-table-pagination.tsx b/web/src/features/users/roles/components/data-table-pagination.tsx index 2db2cc9..e27f4cc 100644 --- a/web/src/features/users/roles/components/data-table-pagination.tsx +++ b/web/src/features/users/roles/components/data-table-pagination.tsx @@ -71,6 +71,7 @@ export function DataTablePagination({ { + localStorage.setItem('bichon_users_page_size', value); table.setPageSize(Number(value)) }} > @@ -76,7 +77,7 @@ export function DataTablePagination({ - {[10, 20, 30, 40, 50].map((pageSize) => ( + {[10, 20, 30, 40, 50, 100].map((pageSize) => ( {pageSize} diff --git a/web/src/features/users/users/components/table.tsx b/web/src/features/users/users/components/table.tsx index ab22521..dbaf5c8 100644 --- a/web/src/features/users/users/components/table.tsx +++ b/web/src/features/users/users/components/table.tsx @@ -75,6 +75,12 @@ export function UsersTable({ columns, data }: DataTableProps) { rowSelection, columnFilters, }, + initialState: { + pagination: { + pageIndex: 0, + pageSize: Number(localStorage.getItem('bichon_users_page_size')) || 10 + } + }, enableRowSelection: true, onRowSelectionChange: setRowSelection, onSortingChange: setSorting, diff --git a/web/src/hooks/use-search-messages.ts b/web/src/hooks/use-search-messages.ts index 3011fe0..f9e5b11 100644 --- a/web/src/hooks/use-search-messages.ts +++ b/web/src/hooks/use-search-messages.ts @@ -29,7 +29,7 @@ export function useSearchMessages() { // const queryClient = useQueryClient(); const [filter, _setFilter] = useState>({}); const [page, setPage] = useState(1); - const [pageSize, setPageSize] = useState(30); + const [pageSize, setPageSize] = useState(Number(localStorage.getItem('bichon_search_page_size')) || 30); const [sortBy, setSortBy] = useState<"DATE" | "SIZE">("DATE"); const [sortOrder, setSortOrder] = useState<"desc" | "asc">("desc"); @@ -38,6 +38,12 @@ export function useSearchMessages() { setPage(1); }, []); + + const setSearchPageSize = (value: number) => { + localStorage.setItem('bichon_search_page_size', value.toString()); + setPageSize(value); + } + const onSubmit = (cleaned: Record) => { if ('has_attachment' in cleaned && cleaned.has_attachment === false) { delete cleaned.has_attachment; @@ -84,7 +90,7 @@ export function useSearchMessages() { total: data?.total_items ?? 0, totalPages: data?.total_pages ?? 1, pageSize: data?.page_size ?? pageSize, - setPageSize, + setSearchPageSize, sortBy, setSortBy, sortOrder,