From 77fe63fb63541ec4985f0d262ab12a4e3bf645f8 Mon Sep 17 00:00:00 2001 From: Arush Wadhawan <142635726+SoulSniper1212@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:37:46 -0500 Subject: [PATCH] feat: add alert history page size preference with persistence (#1404) --- .../settings/alerts-history-data-table.tsx | 18 +++++++++++++++++- internal/site/src/lib/stores.ts | 1 + internal/site/src/types.d.ts | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/internal/site/src/components/routes/settings/alerts-history-data-table.tsx b/internal/site/src/components/routes/settings/alerts-history-data-table.tsx index 2cdd94f3..24619ae5 100644 --- a/internal/site/src/components/routes/settings/alerts-history-data-table.tsx +++ b/internal/site/src/components/routes/settings/alerts-history-data-table.tsx @@ -7,6 +7,7 @@ import { getFilteredRowModel, getPaginationRowModel, getSortedRowModel, + type PaginationState, type SortingState, useReactTable, type VisibilityState, @@ -40,8 +41,11 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@ import { useToast } from "@/components/ui/use-toast" import { alertInfo } from "@/lib/alerts" import { pb } from "@/lib/api" +import { $userSettings } from "@/lib/stores" import { cn, formatDuration, formatShortDate } from "@/lib/utils" import type { AlertsHistoryRecord } from "@/types" +import { saveSettings } from "./layout" +import { useStore } from "@nanostores/react" import { alertsHistoryColumns } from "../../alerts-history-columns" const SectionIntro = memo(() => { @@ -66,6 +70,13 @@ export default function AlertsHistoryDataTable() { const [globalFilter, setGlobalFilter] = useState("") const { toast } = useToast() const [deleteOpen, setDeleteDialogOpen] = useState(false) + const userSettings = useStore($userSettings) + + // Initialize pagination with user preference + const [pagination, setPagination] = useState(() => ({ + pageIndex: 0, + pageSize: userSettings.alertHistoryPageSize || 10, + })) useEffect(() => { let unsubscribe: (() => void) | undefined @@ -136,12 +147,14 @@ export default function AlertsHistoryDataTable() { onColumnFiltersChange: setColumnFilters, onColumnVisibilityChange: setColumnVisibility, onRowSelectionChange: setRowSelection, + onPaginationChange: setPagination, state: { sorting, columnFilters, columnVisibility, rowSelection, globalFilter, + pagination, }, onGlobalFilterChange: setGlobalFilter, globalFilterFn: (row, _columnId, filterValue) => { @@ -318,7 +331,10 @@ export default function AlertsHistoryDataTable() {