diff --git a/app/(prowler)/compliance/page.tsx b/app/(prowler)/compliance/page.tsx index e610187e06..6cc1c5c11e 100644 --- a/app/(prowler)/compliance/page.tsx +++ b/app/(prowler)/compliance/page.tsx @@ -9,24 +9,34 @@ import { } from "@/components/compliance"; import { FilterControls } from "@/components/filters"; import { Header } from "@/components/ui"; -import { searchParamsProps } from "@/types"; +import { SearchParamsProps } from "@/types"; + +export default async function Compliance({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) { + const searchParamsKey = JSON.stringify(searchParams || {}); -export default async function Compliance({ searchParams }: searchParamsProps) { return ( <>
- }> + }> ); } -const SSRComplianceGrid = async ({ searchParams }: searchParamsProps) => { - const page = searchParams.page ? parseInt(searchParams.page) : 1; +const SSRComplianceGrid = async ({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) => { + const page = parseInt(searchParams.page?.toString() || "1", 10); const compliancesData = await getCompliance({ page }); const [compliances] = await Promise.all([compliancesData]); diff --git a/app/(prowler)/services/page.tsx b/app/(prowler)/services/page.tsx index 872d7f3042..24fef60b25 100644 --- a/app/(prowler)/services/page.tsx +++ b/app/(prowler)/services/page.tsx @@ -6,9 +6,14 @@ import { getService } from "@/actions/services"; import { FilterControls } from "@/components/filters"; import { ServiceCard, ServiceSkeletonGrid } from "@/components/services"; import { Header } from "@/components/ui"; -import { searchParamsProps } from "@/types"; +import { SearchParamsProps } from "@/types"; -export default async function Services({ searchParams }: searchParamsProps) { +export default async function Services({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) { + const searchParamsKey = JSON.stringify(searchParams || {}); return ( <>
- }> + }> ); } -const SSRServiceGrid = async ({ searchParams }: searchParamsProps) => { - const page = searchParams.page ? parseInt(searchParams.page) : 1; +const SSRServiceGrid = async ({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) => { + const page = parseInt(searchParams.page?.toString() || "1", 10); const servicesData = await getService({ page }); const [services] = await Promise.all([servicesData]); diff --git a/app/(prowler)/users/page.tsx b/app/(prowler)/users/page.tsx index cff19b91e0..a7f643d73b 100644 --- a/app/(prowler)/users/page.tsx +++ b/app/(prowler)/users/page.tsx @@ -11,14 +11,20 @@ import { DataTableUser, SkeletonTableUser, } from "@/components/users"; -import { searchParamsProps } from "@/types"; +import { SearchParamsProps } from "@/types"; -export default async function Users({ searchParams }: searchParamsProps) { +export default async function Users({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) { const session = await auth(); if (session?.user?.role !== "admin") { redirect("/"); } + const searchParamsKey = JSON.stringify(searchParams || {}); + return ( <>
@@ -28,7 +34,7 @@ export default async function Users({ searchParams }: searchParamsProps) { - }> + }> @@ -36,8 +42,12 @@ export default async function Users({ searchParams }: searchParamsProps) { ); } -const SSRDataTable = async ({ searchParams }: searchParamsProps) => { - const page = searchParams.page ? parseInt(searchParams.page) : 1; +const SSRDataTable = async ({ + searchParams, +}: { + searchParams: SearchParamsProps; +}) => { + const page = parseInt(searchParams.page?.toString() || "1", 10); const usersData = await getUsers({ page }); const [users] = await Promise.all([usersData]); diff --git a/types/components.ts b/types/components.ts index 8aa6744b11..bd2502a44b 100644 --- a/types/components.ts +++ b/types/components.ts @@ -9,11 +9,6 @@ export type IconProps = { style?: React.CSSProperties; }; -// export interface searchParamsProps { -// searchParams: { -// page?: string; -// }; -// } export interface SearchParamsProps { [key: string]: string | string[] | undefined; }