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;
}