diff --git a/packages/core/src/renderer/components/drawer/drawer.tsx b/packages/core/src/renderer/components/drawer/drawer.tsx index b56b3378a1..c0bc4d18d6 100644 --- a/packages/core/src/renderer/components/drawer/drawer.tsx +++ b/packages/core/src/renderer/components/drawer/drawer.tsx @@ -16,7 +16,7 @@ import { Animate } from "../animate"; import { ResizeDirection, ResizeGrowthDirection, ResizeSide, ResizingAnchor } from "../resizing-anchor"; import drawerStorageInjectable, { defaultDrawerWidth } from "./drawer-storage/drawer-storage.injectable"; import { withInjectables } from "@ogre-tools/injectable-react"; -import { historyInjectable } from "@k8slens/routing"; +import { historyInjectionToken } from "@k8slens/routing"; import type { History } from "history"; import type { StorageLayer } from "../../utils/storage-helper"; @@ -251,7 +251,7 @@ class NonInjectedDrawer extends React.Component(NonInjectedDrawer as React.ElementType, { getProps: (di, props) => ({ ...props, - history: di.inject(historyInjectable), + history: di.inject(historyInjectionToken), drawerStorage: di.inject(drawerStorageInjectable), }), }); diff --git a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx index cd471c59e2..9a697bad22 100644 --- a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx +++ b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx @@ -24,7 +24,6 @@ import navigateToHelmChartsInjectable from "../../../common/front-end-routing/ro import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable"; import { Cluster } from "../../../common/cluster/cluster"; import type { NamespaceStore } from "../+namespaces/store"; -import { historyInjectable } from "@k8slens/routing"; import type { MinimalTrayMenuItem } from "../../../main/tray/electron-tray/electron-tray.injectable"; import electronTrayInjectable from "../../../main/tray/electron-tray/electron-tray.injectable"; import { getDiForUnitTesting as getRendererDi } from "../../getDiForUnitTesting"; @@ -71,6 +70,7 @@ import { applicationFeature, startApplicationInjectionToken } from "@k8slens/app import { testUsingFakeTime } from "../../../test-utils/use-fake-time"; import { sendMessageToChannelInjectionToken } from "@k8slens/messaging"; import { getMessageBridgeFake } from "@k8slens/messaging-fake-bridge"; +import { historyInjectionToken } from "@k8slens/routing"; type MainDiCallback = (container: { mainDi: DiContainer }) => void | Promise; type WindowDiCallback = (container: { windowDi: DiContainer }) => void | Promise; @@ -292,7 +292,7 @@ export const getApplicationBuilder = () => { await callback({ windowDi }); } - const history = windowDi.inject(historyInjectable); + const history = windowDi.inject(historyInjectionToken); const render = renderFor(windowDi); diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.test.tsx b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.test.tsx index 1d68aa6466..791a6b6a3d 100644 --- a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.test.tsx +++ b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.test.tsx @@ -12,7 +12,7 @@ import { DiContextProvider } from "@ogre-tools/injectable-react"; import { Router } from "react-router"; import { DefaultProps } from "../../mui-base-theme"; import { ClusterFrame } from "./cluster-frame"; -import { historyInjectable } from "@k8slens/routing"; +import { historyInjectionToken } from "@k8slens/routing"; import { computed } from "mobx"; import { Cluster } from "../../../common/cluster/cluster"; import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.injectable"; @@ -34,7 +34,7 @@ describe("", () => { di = getDiForUnitTesting(); render = () => testingLibraryRender(( - + {DefaultProps(ClusterFrame)} diff --git a/packages/core/src/renderer/frames/routing-react-application-hoc.injectable.tsx b/packages/core/src/renderer/frames/routing-react-application-hoc.injectable.tsx index 5af32c330c..1e22f02e38 100644 --- a/packages/core/src/renderer/frames/routing-react-application-hoc.injectable.tsx +++ b/packages/core/src/renderer/frames/routing-react-application-hoc.injectable.tsx @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { Router } from "react-router"; -import { historyInjectable } from "@k8slens/routing"; +import { historyInjectionToken } from "@k8slens/routing"; import React from "react"; import { @@ -15,7 +15,7 @@ const routingReactApplicationHocInjectable = getInjectable({ id: "routing-react-application-hoc", instantiate: (di) => { - const history = di.inject(historyInjectable); + const history = di.inject(historyInjectionToken); return ({ children }) => ( diff --git a/packages/core/src/renderer/navigation/history.global-override-for-injectable.ts b/packages/core/src/renderer/navigation/history.global-override-for-injectable.ts index cb3545a16e..11a3549985 100644 --- a/packages/core/src/renderer/navigation/history.global-override-for-injectable.ts +++ b/packages/core/src/renderer/navigation/history.global-override-for-injectable.ts @@ -5,6 +5,6 @@ import { createMemoryHistory } from "history"; import { getGlobalOverride } from "@k8slens/test-utils"; -import { historyInjectable } from "@k8slens/routing"; +import { historyInjectionToken } from "@k8slens/routing"; -export default getGlobalOverride(historyInjectable, () => createMemoryHistory()); +export default getGlobalOverride(historyInjectionToken, () => createMemoryHistory()); diff --git a/packages/routing/index.ts b/packages/routing/index.ts index 3169cfad61..019df47547 100644 --- a/packages/routing/index.ts +++ b/packages/routing/index.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ -export { historyInjectable } from "./src/history.injectable"; +export { historyInjectionToken } from "./src/history.injectable"; export { observableHistoryInjectable } from "./src/observable-history.injectable"; export { searchParamsOptions } from "./src/search-params"; export { routingFeature } from "./src/feature"; diff --git a/packages/routing/src/history.injectable.ts b/packages/routing/src/history.injectable.ts index c7706bcdd8..2b8e575730 100644 --- a/packages/routing/src/history.injectable.ts +++ b/packages/routing/src/history.injectable.ts @@ -2,11 +2,16 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { getInjectable } from "@ogre-tools/injectable"; -import { createBrowserHistory } from "history"; +import { getInjectable, getInjectionToken } from "@ogre-tools/injectable"; import type { History } from "history"; +import { createBrowserHistory } from "history"; + +export const historyInjectionToken = getInjectionToken({ + id: "history-injection-token", +}); export const historyInjectable = getInjectable({ id: "history", - instantiate: (): History => createBrowserHistory(), + instantiate: () => createBrowserHistory(), + injectionToken: historyInjectionToken, });