import type { MenuRegistration } from "./registries/menu-registry"; import { observable } from "mobx"; import { LensExtension } from "./lens-extension"; import { WindowManager } from "../main/window-manager"; import { getExtensionPageUrl } from "./registries/page-registry"; export class LensMainExtension extends LensExtension { @observable.shallow appMenus: MenuRegistration[] = []; async navigate

(pageId?: string, params?: P, frameId?: number) { const windowManager = WindowManager.getInstance(); const pageUrl = getExtensionPageUrl({ extensionId: this.name, pageId: pageId, params: params ?? {}, // compile to url with params }); await windowManager.navigate(pageUrl, frameId); } }