From 2e7badc71006c99ba0455674d85f21ac2221d95b Mon Sep 17 00:00:00 2001 From: pedrooot Date: Mon, 22 Sep 2025 18:26:33 +0200 Subject: [PATCH] feat(compliance): add compliance name, version and framework in title detailed page --- .../compliance/[compliancetitle]/page.tsx | 45 ++++++++++--------- ui/components/compliance/ComplianceInfo.tsx | 37 --------------- ui/components/compliance/index.ts | 1 - 3 files changed, 23 insertions(+), 60 deletions(-) delete mode 100644 ui/components/compliance/ComplianceInfo.tsx diff --git a/ui/app/(prowler)/compliance/[compliancetitle]/page.tsx b/ui/app/(prowler)/compliance/[compliancetitle]/page.tsx index a743229435..6ed22f331c 100644 --- a/ui/app/(prowler)/compliance/[compliancetitle]/page.tsx +++ b/ui/app/(prowler)/compliance/[compliancetitle]/page.tsx @@ -12,7 +12,6 @@ import { BarChartSkeleton, ClientAccordionWrapper, ComplianceHeader, - ComplianceInfo, ComplianceScanInfo, HeatmapChart, HeatmapChartSkeleton, @@ -90,11 +89,6 @@ export default async function ComplianceDetail({ ); const searchParamsKey = JSON.stringify(paramsForKey); - const formattedTitle = compliancetitle.split("-").join(" "); - const pageTitle = version - ? `Compliance Details: ${formattedTitle} - ${version}` - : `Compliance Details: ${formattedTitle}`; - let selectedScan: ScanEntity | null = null; if (scanData) { @@ -103,12 +97,22 @@ export default async function ComplianceDetail({ const selectedScanId = scanId || selectedScan?.id || null; - const metadataInfoData = await getComplianceOverviewMetadataInfo({ - filters: { - "filter[scan_id]": selectedScanId, - }, - }); + const [metadataInfoData, attributesData] = await Promise.all([ + getComplianceOverviewMetadataInfo({ + filters: { + "filter[scan_id]": selectedScanId, + }, + }), + complianceId ? getComplianceAttributes(complianceId) : Promise.resolve(null), + ]); + const uniqueRegions = metadataInfoData?.data?.attributes?.regions || []; + const complianceName = attributesData?.data?.[0]?.attributes?.compliance_name; + const formattedTitle = compliancetitle.split("-").join(" "); + + const pageTitle = complianceName + ? (version ? `${complianceName} - ${version}` : complianceName) + : (version ? `Compliance Details: ${formattedTitle} - ${version}` : `Compliance Details: ${formattedTitle}`); return ( @@ -168,21 +173,20 @@ const SSRComplianceContent = async ({ region, filter, logoPath, + attributesData, }: { complianceId: string; scanId: string; region?: string; filter?: string; logoPath?: string; + attributesData: any; }) => { - const [attributesData, requirementsData] = await Promise.all([ - getComplianceAttributes(complianceId), - getComplianceRequirements({ - complianceId, - scanId, - region, - }), - ]); + const requirementsData = await getComplianceRequirements({ + complianceId, + scanId, + region, + }); const type = requirementsData?.data?.[0]?.type; if (!scanId || type === "tasks") { @@ -199,8 +203,6 @@ const SSRComplianceContent = async ({ } const framework = attributesData?.data?.[0]?.attributes?.framework; - const name = attributesData?.data?.[0]?.attributes?.compliance_name || ""; - const version = attributesData?.data?.[0]?.attributes?.version || ""; const mapper = getComplianceMapper(framework); const data = mapper.mapComplianceData( attributesData, @@ -221,7 +223,6 @@ const SSRComplianceContent = async ({ return (
- { - return ( -
- {name && ( -

- {name} -

- )} - -
- {framework && ( - - {framework} - - )} - - {version && ( - - {version} - - )} -
-
- ); -}; diff --git a/ui/components/compliance/index.ts b/ui/components/compliance/index.ts index 363f401624..096951a261 100644 --- a/ui/components/compliance/index.ts +++ b/ui/components/compliance/index.ts @@ -13,7 +13,6 @@ export * from "./compliance-header/compliance-header"; export * from "./compliance-header/compliance-scan-info"; export * from "./compliance-header/data-compliance"; export * from "./compliance-header/scan-selector"; -export * from "./ComplianceInfo"; export * from "./no-scans-available"; export * from "./skeletons/bar-chart-skeleton"; export * from "./skeletons/compliance-accordion-skeleton";