diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java index 326ba23e14..29ecb93426 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java @@ -263,6 +263,7 @@ public class AppConfigResolver implements DataFetcher>) in the lineage graph """ showLineageExpandMore: Boolean! + + """ + If turned on, show the re-designed home page + """ + showHomePageRedesign: Boolean! } """ diff --git a/datahub-web-react/src/app/ProtectedRoutes.tsx b/datahub-web-react/src/app/ProtectedRoutes.tsx index b632aba827..609660883a 100644 --- a/datahub-web-react/src/app/ProtectedRoutes.tsx +++ b/datahub-web-react/src/app/ProtectedRoutes.tsx @@ -10,8 +10,10 @@ import { HomePage } from '@app/home/HomePage'; import { HomePage as HomePageV2 } from '@app/homeV2/HomePage'; import { IntroduceYourself } from '@app/homeV2/introduce/IntroduceYourself'; import { useSetUserPersona } from '@app/homeV2/persona/useUserPersona'; +import { HomePage as HomePageNew } from '@app/homepageV2/HomePage'; import { useSetUserTitle } from '@app/identity/user/useUserTitle'; import { OnboardingContextProvider } from '@app/onboarding/OnboardingContextProvider'; +import { useAppConfig } from '@app/useAppConfig'; import { useIsThemeV2, useSetThemeIsV2 } from '@app/useIsThemeV2'; import { useSetAppTheme } from '@app/useSetAppTheme'; import { useSetNavBarRedesignEnabled } from '@app/useShowNavBarRedesign'; @@ -33,8 +35,16 @@ export const ProtectedRoutes = (): JSX.Element => { useSetNavBarRedesignEnabled(); const isThemeV2 = useIsThemeV2(); - const FinalHomePage = isThemeV2 ? HomePageV2 : HomePage; + const { config } = useAppConfig(); + const showHomepageRedesign = config.featureFlags.showHomePageRedesign; + let FinalHomePage; + + if (isThemeV2) { + FinalHomePage = showHomepageRedesign ? HomePageNew : HomePageV2; + } else { + FinalHomePage = HomePage; + } const location = useLocation(); const history = useHistory(); diff --git a/datahub-web-react/src/app/homepageV2/HomePage.tsx b/datahub-web-react/src/app/homepageV2/HomePage.tsx new file mode 100644 index 0000000000..49c7113e5c --- /dev/null +++ b/datahub-web-react/src/app/homepageV2/HomePage.tsx @@ -0,0 +1,5 @@ +import React from 'react'; + +export const HomePage = () => { + return
Home Page
; +}; diff --git a/datahub-web-react/src/appConfigContext.tsx b/datahub-web-react/src/appConfigContext.tsx index e1295f5249..91159b9f48 100644 --- a/datahub-web-react/src/appConfigContext.tsx +++ b/datahub-web-react/src/appConfigContext.tsx @@ -80,6 +80,7 @@ export const DEFAULT_APP_CONFIG = { showIntroducePage: false, showIngestionPageRedesign: false, showLineageExpandMore: false, + showHomePageRedesign: false, }, chromeExtensionConfig: { enabled: false, diff --git a/datahub-web-react/src/graphql/app.graphql b/datahub-web-react/src/graphql/app.graphql index ad8b8fe46f..95f27c3ea7 100644 --- a/datahub-web-react/src/graphql/app.graphql +++ b/datahub-web-react/src/graphql/app.graphql @@ -101,6 +101,7 @@ query appConfig { showIntroducePage showIngestionPageRedesign showLineageExpandMore + showHomePageRedesign } chromeExtensionConfig { enabled diff --git a/metadata-service/configuration/src/main/java/com/linkedin/datahub/graphql/featureflags/FeatureFlags.java b/metadata-service/configuration/src/main/java/com/linkedin/datahub/graphql/featureflags/FeatureFlags.java index 35441f66d2..8eebca8e96 100644 --- a/metadata-service/configuration/src/main/java/com/linkedin/datahub/graphql/featureflags/FeatureFlags.java +++ b/metadata-service/configuration/src/main/java/com/linkedin/datahub/graphql/featureflags/FeatureFlags.java @@ -42,4 +42,5 @@ public class FeatureFlags { private boolean showIntroducePage = false; private boolean showIngestionPageRedesign = false; private boolean showLineageExpandMore = true; + private boolean showHomePageRedesign = false; } diff --git a/metadata-service/configuration/src/main/resources/application.yaml b/metadata-service/configuration/src/main/resources/application.yaml index 3322f26ed3..63bb0f64d0 100644 --- a/metadata-service/configuration/src/main/resources/application.yaml +++ b/metadata-service/configuration/src/main/resources/application.yaml @@ -572,6 +572,7 @@ featureFlags: showIntroducePage: ${SHOW_INTRODUCE_PAGE:true} # If turned on, we will show the introduce page in the V2 UI experience to add a title and select platforms showIngestionPageRedesign: ${SHOW_INGESTION_PAGE_REDESIGN:false} # If turned on, show the re-designed Ingestion page showLineageExpandMore: ${SHOW_LINEAGE_EXPAND_MORE:true} # If turned on, show the expand more button (>>) in the lineage graph + showHomePageRedesign: ${SHOW_HOME_PAGE_REDESIGN:false} # If turned on, show the re-designed home page entityChangeEvents: enabled: ${ENABLE_ENTITY_CHANGE_EVENTS_HOOK:true}