- {isRegionFiltered
- ? capitalizeFirstLetter(item.name)
- : item.name}
+ {capitalizeFirstLetter(item.name)}
- {isRegionFiltered
- ? capitalizeFirstLetter(hoveredItem.name)
- : hoveredItem.name}
+ {capitalizeFirstLetter(hoveredItem.name)}
Failure Rate: {hoveredItem.failurePercentage}%
diff --git a/ui/components/compliance/compliance-header/compliance-header.tsx b/ui/components/compliance/compliance-header/compliance-header.tsx
index e6bfe0dd2d..abe54adf11 100644
--- a/ui/components/compliance/compliance-header/compliance-header.tsx
+++ b/ui/components/compliance/compliance-header/compliance-header.tsx
@@ -14,6 +14,7 @@ interface ComplianceHeaderProps {
showSearch?: boolean;
showRegionFilter?: boolean;
framework?: string; // Framework name to show specific filters
+ showProviders?: boolean;
}
export const ComplianceHeader = ({
@@ -22,6 +23,7 @@ export const ComplianceHeader = ({
showSearch = true,
showRegionFilter = true,
framework,
+ showProviders = true,
}: ComplianceHeaderProps) => {
const frameworkFilters = [];
@@ -56,10 +58,10 @@ export const ComplianceHeader = ({
<>
{showSearch && }
-
+ {showProviders && }
{allFilters.length > 0 && (
<>
-
+ {showProviders && }
>
)}
diff --git a/ui/components/ui/accordion/Accordion.tsx b/ui/components/ui/accordion/Accordion.tsx
index 1bbcbc9ed8..8117d5eea6 100644
--- a/ui/components/ui/accordion/Accordion.tsx
+++ b/ui/components/ui/accordion/Accordion.tsx
@@ -138,7 +138,7 @@ export const Accordion = ({
indicator={}
classNames={{
base: index === 0 || index === 1 ? "my-1" : "my-1",
- title: "text-sm font-medium max-w-full overflow-hidden truncate",
+ title: "text-sm",
subtitle: "text-xs text-gray-500",
trigger:
"py-2 px-2 rounded-lg data-[hover=true]:bg-gray-50 dark:data-[hover=true]:bg-gray-800/50 w-full flex items-center",
diff --git a/ui/lib/compliance/commons.ts b/ui/lib/compliance/commons.ts
index 7317bb6c0f..c62933b635 100644
--- a/ui/lib/compliance/commons.ts
+++ b/ui/lib/compliance/commons.ts
@@ -10,7 +10,6 @@ import {
CategoryData,
FailedSection,
Framework,
- RegionData,
Requirement,
RequirementsData,
} from "@/types/compliance";
@@ -138,85 +137,6 @@ export const getComplianceMapper = (framework?: string): ComplianceMapper => {
return complianceMappers[framework] || defaultMapper;
};
-export const calculateRegionHeatmapData = async (
- complianceId: string,
- scanId: string,
- uniqueRegions: string[],
- attributesData: AttributesData,
- mapper: ComplianceMapper,
-): Promise => {
- if (!complianceId || !scanId || !uniqueRegions?.length) {
- return [];
- }
-
- try {
- const { getComplianceRequirements } = await import("@/actions/compliances");
-
- // Get data for each region in parallel
- const regionPromises = uniqueRegions.map(async (region) => {
- try {
- // Only need to fetch requirements data per region
- const regionRequirementsData = await getComplianceRequirements({
- complianceId,
- scanId,
- region, // Filter by specific region
- });
-
- // Map the data using the provided mapper
- const mappedData = mapper.mapComplianceData(
- attributesData,
- regionRequirementsData,
- );
-
- // Calculate totals for this region
- const regionTotals = mappedData.reduce(
- (acc, framework) => ({
- pass: acc.pass + framework.pass,
- fail: acc.fail + framework.fail,
- manual: acc.manual + framework.manual,
- }),
- { pass: 0, fail: 0, manual: 0 },
- );
-
- const totalRequirements =
- regionTotals.pass + regionTotals.fail + regionTotals.manual;
- const failurePercentage =
- totalRequirements > 0
- ? Math.round((regionTotals.fail / totalRequirements) * 100)
- : 0;
-
- return {
- name: region,
- failurePercentage,
- totalRequirements,
- failedRequirements: regionTotals.fail,
- };
- } catch (error) {
- console.error(`Error fetching data for region ${region}:`, error);
- return {
- name: region,
- failurePercentage: 0,
- totalRequirements: 0,
- failedRequirements: 0,
- };
- }
- });
-
- const regionData = await Promise.all(regionPromises);
-
- // Filter, sort and limit to top 9 regions for 3x3 grid
- const filteredData = regionData
- .filter((region) => region.totalRequirements > 0)
- .sort((a, b) => b.failurePercentage - a.failurePercentage)
- .slice(0, 9);
-
- return filteredData;
- } catch (error) {
- console.error("Error calculating region heatmap data:", error);
- return [];
- }
-};
-
export const calculateCategoryHeatmapData = (
complianceData: Framework[],
): CategoryData[] => {
diff --git a/ui/types/compliance.ts b/ui/types/compliance.ts
index 8cfaab0246..994c90d200 100644
--- a/ui/types/compliance.ts
+++ b/ui/types/compliance.ts
@@ -1,16 +1,5 @@
export type RequirementStatus = "PASS" | "FAIL" | "MANUAL" | "No findings";
-export type ComplianceId =
- | "ens_rd2022_aws"
- | "iso27001_2013_aws"
- | "iso27001_2022_aws"
- | "cis_1.4_aws"
- | "cis_1.5_aws"
- | "cis_2.0_aws"
- | "cis_3.0_aws"
- | "cis_4.0_aws"
- | "cis_5.0_aws";
-
export interface CompliancesOverview {
data: ComplianceOverviewData[];
}