diff --git a/packages/app/src/app/components/Create/ImportRepository.tsx b/packages/app/src/app/components/Create/ImportRepository.tsx
index 1c5dff16e5e..fd003917213 100644
--- a/packages/app/src/app/components/Create/ImportRepository.tsx
+++ b/packages/app/src/app/components/Create/ImportRepository.tsx
@@ -12,6 +12,7 @@ import { ModalContentProps } from 'app/pages/common/Modals';
import { SignIn } from 'app/pages/SignIn/SignIn';
import { useAppState, useEffects } from 'app/overmind';
import { useGitHubPermissions } from 'app/hooks/useGitHubPermissions';
+import { useWorkspaceFeatureFlags } from 'app/hooks/useWorkspaceFeatureFlags';
import { GithubRepoAuthorization } from 'app/graphql/types';
import { useGithubAccounts } from 'app/hooks/useGithubOrganizations';
import {
@@ -43,6 +44,7 @@ export const ImportRepository: React.FC<
> = ({ preSelectedRepo }) => {
const { hasLogIn } = useAppState();
const effects = useEffects();
+ const { blockRepoImport } = useWorkspaceFeatureFlags();
const {
restrictsPublicRepos,
restrictsPrivateRepos,
@@ -140,6 +142,37 @@ export const ImportRepository: React.FC<
const forkMode = selectedRepo?.authorization === GithubRepoAuthorization.Read;
+ if (blockRepoImport) {
+ return (
+
+
+
+
+ Repository import is deprecated
+
+ Importing repositories is no longer supported.{' '}
+
+ Learn more in our documentation.
+
+
+
+
+
+
+ );
+ }
+
return (
diff --git a/packages/app/src/app/graphql/types.ts b/packages/app/src/app/graphql/types.ts
index 38a263954b1..b2600df0112 100644
--- a/packages/app/src/app/graphql/types.ts
+++ b/packages/app/src/app/graphql/types.ts
@@ -504,6 +504,7 @@ export enum Direction {
export type TeamFeatureFlags = {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: Scalars['Boolean'];
friendOfCsb: Scalars['Boolean'];
ubbBeta: Scalars['Boolean'];
};
@@ -3571,6 +3572,7 @@ export type TeamFragmentDashboardFragment = {
} | null;
featureFlags: {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
@@ -3693,6 +3695,7 @@ export type CurrentTeamInfoFragmentFragment = {
};
featureFlags: {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
@@ -3866,6 +3869,7 @@ export type _CreateTeamMutation = {
} | null;
featureFlags: {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
@@ -4723,6 +4727,7 @@ export type AllTeamsQuery = {
} | null;
featureFlags: {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
@@ -5172,6 +5177,7 @@ export type GetTeamQuery = {
};
featureFlags: {
__typename?: 'TeamFeatureFlags';
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
diff --git a/packages/app/src/app/hooks/useWorkspaceFeatureFlags.ts b/packages/app/src/app/hooks/useWorkspaceFeatureFlags.ts
index 65998512988..1fb9cf49288 100644
--- a/packages/app/src/app/hooks/useWorkspaceFeatureFlags.ts
+++ b/packages/app/src/app/hooks/useWorkspaceFeatureFlags.ts
@@ -1,6 +1,7 @@
import { useAppState } from 'app/overmind';
export type FeatureFlags = {
+ blockRepoImport: boolean;
ubbBeta: boolean;
friendOfCsb: boolean;
};
@@ -10,12 +11,14 @@ export const useWorkspaceFeatureFlags = (): FeatureFlags => {
if (!activeTeamInfo) {
return {
+ blockRepoImport: false,
ubbBeta: false,
friendOfCsb: false,
};
}
return {
+ blockRepoImport: activeTeamInfo.featureFlags.blockRepoImport,
ubbBeta: activeTeamInfo.featureFlags.ubbBeta,
friendOfCsb: activeTeamInfo.featureFlags.friendOfCsb,
};
diff --git a/packages/app/src/app/overmind/effects/gql/dashboard/fragments.ts b/packages/app/src/app/overmind/effects/gql/dashboard/fragments.ts
index d201b56789f..c9d4e35df95 100644
--- a/packages/app/src/app/overmind/effects/gql/dashboard/fragments.ts
+++ b/packages/app/src/app/overmind/effects/gql/dashboard/fragments.ts
@@ -160,6 +160,7 @@ export const teamFragmentDashboard = gql`
}
featureFlags {
+ blockRepoImport
ubbBeta
friendOfCsb
}
@@ -277,6 +278,7 @@ export const currentTeamInfoFragment = gql`
}
featureFlags {
+ blockRepoImport
ubbBeta
friendOfCsb
}