Files
caddy-proxy-manager/app/(dashboard)/access-lists/page.tsx
2026-02-27 18:00:36 +01:00

28 lines
736 B
TypeScript

import AccessListsClient from "./AccessListsClient";
import { listAccessListsPaginated, countAccessLists } from "@/src/lib/models/access-lists";
import { requireAdmin } from "@/src/lib/auth";
const PER_PAGE = 25;
interface PageProps {
searchParams: { page?: string };
}
export default async function AccessListsPage({ searchParams }: PageProps) {
await requireAdmin();
const page = Math.max(1, parseInt(searchParams.page ?? "1", 10) || 1);
const offset = (page - 1) * PER_PAGE;
const [lists, total] = await Promise.all([
listAccessListsPaginated(PER_PAGE, offset),
countAccessLists(),
]);
return (
<AccessListsClient
lists={lists}
pagination={{ total, page, perPage: PER_PAGE }}
/>
);
}