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 }