diff --git a/.changeset/chatty-seals-tap.md b/.changeset/chatty-seals-tap.md index 5511fe4520..01d69e1562 100644 --- a/.changeset/chatty-seals-tap.md +++ b/.changeset/chatty-seals-tap.md @@ -1,4 +1,5 @@ --- +'@backstage/create-app': patch '@backstage/plugin-catalog': patch --- diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 0efcafba26..d46774a757 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -142,7 +142,7 @@ const app = createApp({ bind(catalogPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, viewTechDoc: techdocsPlugin.routes.docRoot, - selectedTemplateRoute: scaffolderPlugin.routes.selectedTemplate, + createFromTemplate: scaffolderPlugin.routes.selectedTemplate, }); bind(apiDocsPlugin.externalRoutes, { registerApi: catalogImportPlugin.routes.importPage, diff --git a/packages/create-app/templates/default-app/packages/app/src/App.tsx b/packages/create-app/templates/default-app/packages/app/src/App.tsx index cac3e7f0a9..8d62f29c52 100644 --- a/packages/create-app/templates/default-app/packages/app/src/App.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/App.tsx @@ -40,7 +40,7 @@ const app = createApp({ bind(catalogPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, viewTechDoc: techdocsPlugin.routes.docRoot, - selectedTemplateRoute: scaffolderPlugin.routes.selectedTemplate, + createFromTemplate: scaffolderPlugin.routes.selectedTemplate, }); bind(apiDocsPlugin.externalRoutes, { registerApi: catalogImportPlugin.routes.importPage, diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index 915e89d0c6..6bb4fcc4a1 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -105,7 +105,7 @@ export const catalogPlugin: BackstagePlugin< }, true >; - selectedTemplateRoute: ExternalRouteRef< + createFromTemplate: ExternalRouteRef< { namespace: string; templateName: string; diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx index 43af858300..e8d2657e9f 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx @@ -30,7 +30,7 @@ import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import { screen } from '@testing-library/react'; import React from 'react'; -import { selectedTemplateRouteRef, viewTechDocRouteRef } from '../../routes'; +import { createFromTemplateRouteRef, viewTechDocRouteRef } from '../../routes'; import { AboutCard } from './AboutCard'; describe('', () => { @@ -545,7 +545,7 @@ describe('', () => { mountedRoutes: { '/catalog/:namespace/:kind/:name': entityRouteRef, '/create/templates/:namespace/:templateName': - selectedTemplateRouteRef, + createFromTemplateRouteRef, }, }, ); @@ -612,7 +612,7 @@ describe('', () => { mountedRoutes: { '/catalog/:namespace/:kind/:name': entityRouteRef, '/create/templates/:namespace/:templateName': - selectedTemplateRouteRef, + createFromTemplateRouteRef, }, }, ); diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.tsx index 2933aea9e8..a08a9be5a4 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.tsx @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { ANNOTATION_EDIT_URL, ANNOTATION_LOCATION, @@ -42,6 +41,7 @@ import { getEntitySourceLocation, useEntity, } from '@backstage/plugin-catalog-react'; +import { isTemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; import { Card, CardContent, @@ -50,14 +50,14 @@ import { IconButton, makeStyles, } from '@material-ui/core'; -import AddIcon from '@material-ui/icons/Add'; +import CreateComponentIcon from '@material-ui/icons/AddCircleOutline'; import CachedIcon from '@material-ui/icons/Cached'; import DocsIcon from '@material-ui/icons/Description'; import EditIcon from '@material-ui/icons/Edit'; import React, { useCallback } from 'react'; -import { selectedTemplateRouteRef, viewTechDocRouteRef } from '../../routes'; + +import { createFromTemplateRouteRef, viewTechDocRouteRef } from '../../routes'; import { AboutContent } from './AboutContent'; -import { isTemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; const useStyles = makeStyles({ gridItemCard: { @@ -91,7 +91,8 @@ export interface AboutCardProps { /** * Exported publicly via the EntityAboutCard */ -export function AboutCard({ variant }: AboutCardProps) { +export function AboutCard(props: AboutCardProps) { + const { variant } = props; const app = useApp(); const classes = useStyles(); const { entity } = useEntity(); @@ -100,7 +101,7 @@ export function AboutCard({ variant }: AboutCardProps) { const alertApi = useApi(alertApiRef); const errorApi = useApi(errorApiRef); const viewTechdocLink = useRouteRef(viewTechDocRouteRef); - const templateRoute = useRouteRef(selectedTemplateRouteRef); + const templateRoute = useRouteRef(createFromTemplateRouteRef); const entitySourceLocation = getEntitySourceLocation( entity, @@ -133,7 +134,7 @@ export function AboutCard({ variant }: AboutCardProps) { const subHeaderLinks = [viewInSource, viewInTechDocs]; if (isTemplateEntityV1beta3(entity)) { - const Icon = app.getSystemIcon('scaffolder') ?? AddIcon; + const Icon = app.getSystemIcon('scaffolder') ?? CreateComponentIcon; const launchTemplate: IconLinkVerticalProps = { label: 'Launch Template', diff --git a/plugins/catalog/src/plugin.ts b/plugins/catalog/src/plugin.ts index 22c85a755d..711f52767a 100644 --- a/plugins/catalog/src/plugin.ts +++ b/plugins/catalog/src/plugin.ts @@ -23,7 +23,7 @@ import { } from '@backstage/plugin-catalog-react'; import { createComponentRouteRef, - selectedTemplateRouteRef, + createFromTemplateRouteRef, viewTechDocRouteRef, } from './routes'; import { @@ -81,7 +81,7 @@ export const catalogPlugin = createPlugin({ externalRoutes: { createComponent: createComponentRouteRef, viewTechDoc: viewTechDocRouteRef, - selectedTemplateRoute: selectedTemplateRouteRef, + createFromTemplate: createFromTemplateRouteRef, }, __experimentalConfigure( options?: CatalogInputPluginOptions, diff --git a/plugins/catalog/src/routes.ts b/plugins/catalog/src/routes.ts index 2d9667d8e2..ab70a3c551 100644 --- a/plugins/catalog/src/routes.ts +++ b/plugins/catalog/src/routes.ts @@ -30,8 +30,8 @@ export const viewTechDocRouteRef = createExternalRouteRef({ params: ['namespace', 'kind', 'name'], }); -export const selectedTemplateRouteRef = createExternalRouteRef({ - id: 'selected-template', +export const createFromTemplateRouteRef = createExternalRouteRef({ + id: 'create-from-template', optional: true, params: ['namespace', 'templateName'], });