Merge pull request #20683 from backstage/mob/routed-tabs-fix

core-components: make RoutedTabs not explode when rendering without tabs
This commit is contained in:
Patrik Oldsberg
2023-10-19 20:51:59 +02:00
committed by GitHub
2 changed files with 9 additions and 4 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Fix `RoutedTabs` so that it does not explode without tabs.
@@ -27,8 +27,8 @@ import { SubRoute } from './types';
export function useSelectedSubRoute(subRoutes: SubRoute[]): {
index: number;
route: SubRoute;
element: JSX.Element;
route?: SubRoute;
element?: JSX.Element;
} {
const params = useParams();
@@ -44,7 +44,7 @@ export function useSelectedSubRoute(subRoutes: SubRoute[]): {
b.path.replace(/\/\*$/, '').localeCompare(a.path.replace(/\/\*$/, '')),
);
const element = useRoutes(sortedRoutes) ?? subRoutes[0].children;
const element = useRoutes(sortedRoutes) ?? subRoutes[0]?.children;
// TODO(Rugvip): Once we only support v6 stable we can always prefix
// This avoids having a double / prefix for react-router v6 beta, which in turn breaks
@@ -98,7 +98,7 @@ export function RoutedTabs(props: { routes: SubRoute[] }) {
onChange={onTabChange}
/>
<Content>
<Helmet title={route.title} />
<Helmet title={route?.title} />
{element}
</Content>
</>