diff --git a/src/extensions/lens-extension.ts b/src/extensions/lens-extension.ts index f7de4ad57a..226bdb58ac 100644 --- a/src/extensions/lens-extension.ts +++ b/src/extensions/lens-extension.ts @@ -44,13 +44,9 @@ export class LensExtension { return this.manifest.description } - getPageUrl(baseUrl = "") { + getPageRoute(suffixPathOrUrl = "") { const validUrlName = this.name.replace("@", "").replace("/", "-"); - return compile(this.routePrefix)({ name: validUrlName }) + baseUrl; - } - - getPageRoute(baseRoute = "") { - return this.getPageUrl() + baseRoute; + return compile(this.routePrefix)({ name: validUrlName }) + suffixPathOrUrl; } @action diff --git a/src/extensions/lens-main-extension.ts b/src/extensions/lens-main-extension.ts index 0055344a66..8ff1e7eaf1 100644 --- a/src/extensions/lens-main-extension.ts +++ b/src/extensions/lens-main-extension.ts @@ -8,7 +8,7 @@ export class LensMainExtension extends LensExtension { async navigate(location?: string, frameId?: number) { const windowManager = WindowManager.getInstance(); - const url = this.getPageUrl(location); // get full path to extension's page + const url = this.getPageRoute(location); // get full path to extension's page await windowManager.navigate(url, frameId); } } diff --git a/src/extensions/lens-renderer-extension.ts b/src/extensions/lens-renderer-extension.ts index 87ca214805..b1bab58f92 100644 --- a/src/extensions/lens-renderer-extension.ts +++ b/src/extensions/lens-renderer-extension.ts @@ -16,6 +16,6 @@ export class LensRendererExtension extends LensExtension { async navigate(location?: string) { const { navigate } = await import("../renderer/navigation"); - navigate(this.getPageUrl(location)); + navigate(this.getPageRoute(location)); } } diff --git a/src/extensions/registries/page-menu-registry.ts b/src/extensions/registries/page-menu-registry.ts index 6bd161ccb2..a86f949fed 100644 --- a/src/extensions/registries/page-menu-registry.ts +++ b/src/extensions/registries/page-menu-registry.ts @@ -23,10 +23,10 @@ export interface PageMenuComponents { export class PageMenuRegistry extends BaseRegistry { getItems() { - return super.getItems().map(item => { - item.url = item.extension.getPageUrl(item.url) - return item - }); + return super.getItems().map(menuItem => ({ + ...menuItem, + url: menuItem.extension.getPageRoute(menuItem.url), + })); } } diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index 886ab8a584..1ad0633955 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -22,9 +22,16 @@ export interface PageComponents { export class PageRegistry extends BaseRegistry { getItems() { - return super.getItems().map(item => { - item.routePath = item.extension.getPageRoute(item.routePath) - return item + return super.getItems().map(page => { + const pageRoute = page.extension.getPageRoute(page.routePath); + return { + ...page, + routePath: pageRoute, + subPages: page?.subPages?.map(subPage => ({ + ...subPage, + routePath: pageRoute + subPage.routePath + })) + } }); } }