diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/TemplateWizardPage.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/TemplateWizardPage.tsx
index 58059f55bf..304e7279cf 100644
--- a/plugins/scaffolder/src/next/TemplateWizardPage/TemplateWizardPage.tsx
+++ b/plugins/scaffolder/src/next/TemplateWizardPage/TemplateWizardPage.tsx
@@ -23,14 +23,15 @@ import {
MarkdownContent,
} from '@backstage/core-components';
import { FieldExtensionOptions } from '../../extensions';
-import { useParams } from 'react-router';
+import { Navigate, useParams } from 'react-router';
import { stringifyEntityRef } from '@backstage/catalog-model';
-import { useApi } from '@backstage/core-plugin-api';
+import { errorApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';
import { scaffolderApiRef } from '../../api';
import useAsync from 'react-use/lib/useAsync';
import { makeStyles } from '@material-ui/core';
import { Stepper } from './Stepper';
import { BackstageTheme } from '@backstage/theme';
+import { nextRouteRef } from '../../routes';
export interface TemplateWizardPageProps {
customFieldExtensions: FieldExtensionOptions
[];
@@ -58,9 +59,11 @@ const useTemplateParameterSchema = (templateRef: string) => {
return { manifest: value, loading, error };
};
-export const TemplateWizardPage = (_props: TemplateWizardPageProps) => {
+export const TemplateWizardPage = (props: TemplateWizardPageProps) => {
const styles = useStyles();
+ const rootRef = useRouteRef(nextRouteRef);
const { templateName, namespace } = useParams();
+ const errorApi = useApi(errorApiRef);
const { loading, manifest, error } = useTemplateParameterSchema(
stringifyEntityRef({
kind: 'Template',
@@ -69,6 +72,11 @@ export const TemplateWizardPage = (_props: TemplateWizardPageProps) => {
}),
);
+ if (error) {
+ errorApi.post(new Error(`Failed to load template, ${error}`));
+ return ;
+ }
+
return (
{
noPadding
titleTypographyProps={{ component: 'h2' }}
>
-
+
)}