mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-03-22 03:08:23 +00:00
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import {
|
|
AlibabaCloudProviderBadge,
|
|
AWSProviderBadge,
|
|
AzureProviderBadge,
|
|
GCPProviderBadge,
|
|
GitHubProviderBadge,
|
|
IacProviderBadge,
|
|
KS8ProviderBadge,
|
|
M365ProviderBadge,
|
|
MongoDBAtlasProviderBadge,
|
|
OracleCloudProviderBadge,
|
|
} from "@/components/icons/providers-badge";
|
|
import { ProviderType } from "@/types";
|
|
|
|
export const PROVIDER_ICONS = {
|
|
aws: AWSProviderBadge,
|
|
azure: AzureProviderBadge,
|
|
gcp: GCPProviderBadge,
|
|
kubernetes: KS8ProviderBadge,
|
|
m365: M365ProviderBadge,
|
|
github: GitHubProviderBadge,
|
|
iac: IacProviderBadge,
|
|
oraclecloud: OracleCloudProviderBadge,
|
|
mongodbatlas: MongoDBAtlasProviderBadge,
|
|
alibabacloud: AlibabaCloudProviderBadge,
|
|
} as const;
|
|
|
|
interface ProviderIconCellProps {
|
|
provider: ProviderType;
|
|
size?: number;
|
|
}
|
|
|
|
export const ProviderIconCell = ({
|
|
provider,
|
|
size = 26,
|
|
}: ProviderIconCellProps) => {
|
|
const IconComponent = PROVIDER_ICONS[provider];
|
|
|
|
if (!IconComponent) {
|
|
return (
|
|
<div className="flex size-8 items-center justify-center rounded-md bg-white">
|
|
<span className="text-text-neutral-secondary text-xs">?</span>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<div className="flex size-8 items-center justify-center overflow-hidden rounded-md bg-white">
|
|
<IconComponent width={size} height={size} />
|
|
</div>
|
|
);
|
|
};
|