From bd2e60bfa752434d094182f2f564654d7fd2c815 Mon Sep 17 00:00:00 2001 From: Iku-turso Date: Wed, 15 Mar 2023 14:21:53 +0200 Subject: [PATCH] Start monster beat-down after application is loaded in Lens Co-authored-by: Janne Savolainen Signed-off-by: Iku-turso --- packages/kata-for-gabriel/package.json | 1 + ...e-after-application-is-loaded.injectable.tsx | 17 +++++++++++++++++ packages/open-lens/src/renderer/index.ts | 5 +++-- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 packages/kata-for-gabriel/src/start-game-after-application-is-loaded.injectable.tsx 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,