diff --git a/src/components/ui/DataTable.tsx b/src/components/ui/DataTable.tsx index 015d2b68..34b99a36 100644 --- a/src/components/ui/DataTable.tsx +++ b/src/components/ui/DataTable.tsx @@ -36,6 +36,33 @@ type DataTableProps = { }; }; +function PaginationBar({ page, perPage, total }: { page: number; perPage: number; total: number }) { + const router = useRouter(); + const pathname = usePathname(); + const searchParams = useSearchParams(); + const pageCount = Math.ceil(total / perPage); + + if (pageCount <= 1) return null; + + function handlePageChange(_: React.ChangeEvent, newPage: number) { + const params = new URLSearchParams(searchParams.toString()); + params.set("page", String(newPage)); + router.push(`${pathname}?${params.toString()}`); + } + + return ( + + + + ); +} + export function DataTable({ columns, data, @@ -44,20 +71,6 @@ export function DataTable({ loading = false, pagination, }: DataTableProps) { - const router = useRouter(); - const pathname = usePathname(); - const searchParams = useSearchParams(); - - const pageCount = pagination - ? Math.ceil(pagination.total / pagination.perPage) - : 0; - - function handlePageChange(_: React.ChangeEvent, page: number) { - const params = new URLSearchParams(searchParams.toString()); - params.set("page", String(page)); - router.push(`${pathname}?${params.toString()}`); - } - return ( @@ -97,17 +110,7 @@ export function DataTable({ - {pagination && pageCount > 1 && ( - - - - )} + {pagination && } ); } diff --git a/src/lib/acme-certs.ts b/src/lib/acme-certs.ts index a3ad04ff..670566af 100644 --- a/src/lib/acme-certs.ts +++ b/src/lib/acme-certs.ts @@ -82,7 +82,7 @@ export function scanAcmeCerts(): Map { for (const domain of sanDomains) { // Keep the cert with the latest validTo for each domain const existing = map.get(domain); - if (!existing || info.validTo > existing.validTo) { + if (!existing || new Date(info.validTo).getTime() > new Date(existing.validTo).getTime()) { map.set(domain, info); } }