core-compat-api: hide page header for compat-wrapped legacy pages

Legacy plugins already render their own headers, so the additional
PageLayout header from the PageBlueprint results in duplicate headers.
Pass noHeader: true in both convertLegacyPageExtension and
collectLegacyRoutes to suppress the outer header.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
This commit is contained in:
Patrik Oldsberg
2026-03-24 06:57:41 -07:00
parent 94a4037fcc
commit 77ab7d570e
3 changed files with 7 additions and 0 deletions
@@ -0,0 +1,5 @@
---
'@backstage/core-compat-api': patch
---
Hide the default page header for pages created through the compatibility wrappers, since legacy plugins already render their own headers.
@@ -236,6 +236,7 @@ export function collectLegacyRoutes(
// todo(blam): why do we not use the inputs here?
return originalFactory({
path: normalizeRoutePath(path),
noHeader: true,
routeRef: routeRef ? convertLegacyRouteRef(routeRef) : undefined,
loader: async () =>
compatWrapper(
@@ -60,6 +60,7 @@ export function convertLegacyPageExtension(
name: overrides?.name ?? kebabName,
params: {
path: overrides?.path ?? `/${kebabName}`,
noHeader: true,
routeRef: mountPoint && convertLegacyRouteRef(mountPoint),
loader: async () => compatWrapper(element),
},