diff --git a/packages/kata-for-gabriel/package.json b/packages/kata-for-gabriel/package.json index 86007fa3ab..b5147fee50 100644 --- a/packages/kata-for-gabriel/package.json +++ b/packages/kata-for-gabriel/package.json @@ -31,6 +31,7 @@ "lint:fix": "lens-lint --fix" }, "peerDependencies": { + "@k8slens/application": "*", "@k8slens/feature-core": "^6.5.0-alpha.0", "@ogre-tools/fp": "^15.1.2", "@ogre-tools/injectable": "^15.1.2", diff --git a/packages/kata-for-gabriel/src/start-game-after-application-is-loaded.injectable.tsx b/packages/kata-for-gabriel/src/start-game-after-application-is-loaded.injectable.tsx new file mode 100644 index 0000000000..1ecd64201c --- /dev/null +++ b/packages/kata-for-gabriel/src/start-game-after-application-is-loaded.injectable.tsx @@ -0,0 +1,17 @@ +import { getInjectable } from "@ogre-tools/injectable"; +import { gameInjectable } from "./monster-beatdown.injectable"; +import { afterApplicationIsLoadedInjectionToken } from "@k8slens/application"; + +const startGameAfterApplicationIsLoadedInjectable = getInjectable({ + id: "start-game-after-application-is-loaded", + + instantiate: (di) => ({ + run: () => { + di.inject(gameInjectable).start(); + }, + }), + + injectionToken: afterApplicationIsLoadedInjectionToken, +}); + +export default startGameAfterApplicationIsLoadedInjectable; diff --git a/packages/open-lens/src/renderer/index.ts b/packages/open-lens/src/renderer/index.ts index 9f0770de26..fee7736ca9 100644 --- a/packages/open-lens/src/renderer/index.ts +++ b/packages/open-lens/src/renderer/index.ts @@ -9,11 +9,12 @@ import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registra import { registerFeature } from "@k8slens/feature-core"; import { applicationFeature, - startApplicationInjectionToken + startApplicationInjectionToken, } from "@k8slens/application"; import { createContainer } from "@ogre-tools/injectable"; import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx"; import { registerInjectableReact } from "@ogre-tools/injectable-react"; +import { gabrielFeature } from "@k8slens/kata-for-gabriel"; const environment = "renderer"; @@ -23,7 +24,7 @@ runInAction(() => { registerMobX(di); registerInjectableReact(di); registerLensCore(di, environment); - registerFeature(di, applicationFeature); + registerFeature(di, applicationFeature, gabrielFeature); autoRegister({ di,