- {isLoading &&
- Array.from({ length: 12 }).map((_, index) => (
-
- ))}
-
- {!isLoading && filteredIntegrations.length ? (
- filteredIntegrations.map((cloudIntegration) => {
- const syncSlug = cloudIntegration.syncSlug ?? cloudIntegration.slug;
- const isSyncAvailable = isSecretSyncAvailable(syncSlug);
-
- return (
-
null}
- role="button"
- tabIndex={0}
- className={`group relative ${
- cloudIntegration.isAvailable
- ? "cursor-pointer duration-200 hover:bg-mineshaft-700"
- : "opacity-50"
- } flex h-36 flex-col items-center justify-center rounded-md border border-mineshaft-600 bg-mineshaft-800 p-3`}
- onClick={() => {
- if (isSyncAvailable) {
- navigate({
- to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path,
- params: {
- orgId: currentOrg.id,
- projectId: currentProject.id
- },
- search: {
- selectedTab: IntegrationsListPageTabs.SecretSyncs,
- addSync: syncSlug as SecretSync
- }
- });
- return;
- }
- if (!cloudIntegration.isAvailable) return;
- if (
- permission.cannot(
- ProjectPermissionActions.Create,
- ProjectPermissionSub.Integrations
- )
- ) {
- createNotification({
- type: "error",
- text: "You do not have permission to create an integration"
- });
- return;
- }
- onIntegrationStart(cloudIntegration.slug);
- }}
- key={cloudIntegration.slug}
- >
-
-

-
- {cloudIntegration.name}
-
-
- {cloudIntegration.isAvailable &&
- Boolean(integrationAuths?.[cloudIntegration.slug]) && (
-
-
-
-
- Authorized
-
-
- null}
- role="button"
- tabIndex={0}
- onClick={async (event) => {
- event.stopPropagation();
- handlePopUpOpen("deleteConfirmation", {
- provider: cloudIntegration.slug
- });
- }}
- className="absolute top-0 right-0 flex h-0 w-12 cursor-pointer items-center justify-center overflow-hidden rounded-r-md bg-red text-xs opacity-50 transition-all duration-300 group-hover:h-full hover:opacity-100"
- >
-
-
-
-
-
- )}
- {isSyncAvailable && (
-
-
-
- Secret Sync Available
-
-
-
- )}
-