feat: Saving user's page size choices #171

This commit is contained in:
rustmailer
2026-03-11 12:40:20 +08:00
parent 8f331080bf
commit 396383aa97
14 changed files with 55 additions and 7 deletions
+8 -2
View File
@@ -29,7 +29,7 @@ export function useSearchMessages() {
// const queryClient = useQueryClient();
const [filter, _setFilter] = useState<Record<string, any>>({});
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<string, any>) => {
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,