From 631d153916781807b6d3063a2359c36b36a951b9 Mon Sep 17 00:00:00 2001 From: vabf59 Date: Mon, 14 Oct 2024 16:07:32 -0500 Subject: [PATCH] fix: hide support button in catalog, scaffolder, & techdocs if not configured Signed-off-by: vabf59 --- .../CatalogPage/DefaultCatalogPage.tsx | 5 ++++- .../next/TemplateListPage/TemplateListPage.tsx | 16 ++++++++++++---- .../src/home/components/DefaultTechDocsHome.tsx | 10 +++++++--- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx index a46a552b8d..bbfa375b67 100644 --- a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx +++ b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.tsx @@ -58,6 +58,7 @@ export function BaseCatalogPage(props: BaseCatalogPageProps) { const { allowed } = usePermission({ permission: catalogEntityCreatePermission, }); + const supportConfig = useApi(configApiRef).getOptionalConfig('app.support'); return ( @@ -69,7 +70,9 @@ export function BaseCatalogPage(props: BaseCatalogPageProps) { to={createComponentLink && createComponentLink()} /> )} - {t('indexPage.supportButtonContent')} + {supportConfig && ( + {t('indexPage.supportButtonContent')} + )} diff --git a/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx b/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx index 4042506d1e..2707f1e91d 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx @@ -17,7 +17,12 @@ import React, { useCallback } from 'react'; import { useNavigate } from 'react-router-dom'; import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; -import { useApp, useRouteRef } from '@backstage/core-plugin-api'; +import { + configApiRef, + useApi, + useApp, + useRouteRef, +} from '@backstage/core-plugin-api'; import { Content, @@ -110,6 +115,7 @@ export const TemplateListPage = (props: TemplateListPageProps) => { const templateRoute = useRouteRef(selectedTemplateRouteRef); const app = useApp(); const { t } = useTranslationRef(scaffolderTranslationRef); + const supportConfig = useApi(configApiRef).getOptionalConfig('app.support'); const groups = givenGroups.length ? createGroupsWithOther(givenGroups, t) @@ -184,9 +190,11 @@ export const TemplateListPage = (props: TemplateListPageProps) => { )} to={registerComponentLink && registerComponentLink()} /> - - {t('templateListPage.contentHeader.supportButtonTitle')} - + {supportConfig && ( + + {t('templateListPage.contentHeader.supportButtonTitle')} + + )} diff --git a/plugins/techdocs/src/home/components/DefaultTechDocsHome.tsx b/plugins/techdocs/src/home/components/DefaultTechDocsHome.tsx index 2fbd5bb50a..7aae9b242e 100644 --- a/plugins/techdocs/src/home/components/DefaultTechDocsHome.tsx +++ b/plugins/techdocs/src/home/components/DefaultTechDocsHome.tsx @@ -31,6 +31,7 @@ import { TechDocsPageWrapper } from './TechDocsPageWrapper'; import { TechDocsPicker } from './TechDocsPicker'; import { EntityListDocsTable } from './Tables'; import { TechDocsIndexPageProps } from './TechDocsIndexPage'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; /** * Props for {@link DefaultTechDocsHome} @@ -47,13 +48,16 @@ export type DefaultTechDocsHomeProps = TechDocsIndexPageProps; */ export const DefaultTechDocsHome = (props: TechDocsIndexPageProps) => { const { initialFilter = 'owned', columns, actions, ownerPickerMode } = props; + const supportConfig = useApi(configApiRef).getOptionalConfig('app.support'); return ( - - Discover documentation in your ecosystem. - + {supportConfig && ( + + Discover documentation in your ecosystem. + + )}