mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-24 04:51:51 +00:00
feat: allow compliance data selection by choosing a scan
This commit is contained in:
@@ -45,10 +45,22 @@ export default async function Compliance({
|
||||
const SSRComplianceGrid = async ({ scanId }: { scanId: string }) => {
|
||||
const compliancesData = await getCompliancesOverview({ scanId });
|
||||
|
||||
// Check if the response contains no data
|
||||
if (!compliancesData || compliancesData?.data?.length === 0) {
|
||||
return (
|
||||
<div className="flex h-full items-center justify-center">
|
||||
<div className="text-default-500">
|
||||
No compliance data available for the selected scan.
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// Handle errors returned by the API
|
||||
if (compliancesData?.errors?.length > 0) {
|
||||
return (
|
||||
<div className="flex h-full items-center justify-center">
|
||||
<div className="text-default-500">There is no compliance data.</div>
|
||||
<div className="text-default-500">Provide a valid scan ID.</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,14 @@ interface DataComplianceProps {
|
||||
export const DataCompliance = ({ scans }: DataComplianceProps) => {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const selectedScanId = searchParams.get("scanId") || scans[0]?.id;
|
||||
const scanIdParam = searchParams.get("scanId");
|
||||
const selectedScanId =
|
||||
scanIdParam === "undefined" || !scanIdParam ? scans[0]?.id : scanIdParam;
|
||||
|
||||
if (scanIdParam === "undefined") {
|
||||
router.replace("/compliance");
|
||||
return null;
|
||||
}
|
||||
|
||||
const handleSelectionChange = (selectedKey: string) => {
|
||||
router.push(`?scanId=${selectedKey}`);
|
||||
|
||||
Reference in New Issue
Block a user