From e5c31326886afcf2c727f46a2cec71d4d92b5ed8 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Thu, 20 Oct 2022 08:19:56 +0300 Subject: [PATCH] Remove dead code Signed-off-by: Janne Savolainen --- .../extension-preferences-route.injectable.ts | 27 -------- ...ate-to-extension-preferences.injectable.ts | 26 ------- .../app-preference-tab-registration.ts | 1 - .../app-preferences.injectable.ts | 19 ------ .../app-preferences/get-app-preferences.ts | 29 -------- ...-preference-item-registrator.injectable.ts | 52 -------------- ...ension-preference-items-injection-token.ts | 17 ----- .../extension-preference-model.injectable.ts | 35 ---------- ...-preferences-route-component.injectable.ts | 21 ------ ...-preference-item-registrator.injectable.ts | 51 -------------- .../components/+preferences/extensions.tsx | 57 ---------------- .../get-extension-preference-items.ts | 24 ------- ...-preferences-navigation-item.injectable.ts | 68 ------------------- .../extensions-nav-group.tsx | 56 --------------- ...-navigation-item-registrator.injectable.ts | 57 ---------------- ...e-navigation-items-for-group.injectable.ts | 30 -------- .../preference-navigation-tab.tsx | 21 ------ .../telemetry-preference-items.injectable.ts | 24 ------- 18 files changed, 615 deletions(-) delete mode 100644 src/common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable.ts delete mode 100644 src/common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable.ts delete mode 100644 src/renderer/components/+preferences/app-preferences/app-preferences.injectable.ts delete mode 100644 src/renderer/components/+preferences/app-preferences/get-app-preferences.ts delete mode 100644 src/renderer/components/+preferences/extension-preference-item-registrator.injectable.ts delete mode 100644 src/renderer/components/+preferences/extension-preference-items-injection-token.ts delete mode 100644 src/renderer/components/+preferences/extension-preference-model.injectable.ts delete mode 100644 src/renderer/components/+preferences/extension-preferences-route-component.injectable.ts delete mode 100644 src/renderer/components/+preferences/extension-telemetry-preference-item-registrator.injectable.ts delete mode 100644 src/renderer/components/+preferences/extensions.tsx delete mode 100644 src/renderer/components/+preferences/get-extension-preference-items.ts delete mode 100644 src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts delete mode 100644 src/renderer/components/+preferences/preferences-navigation/extensions-nav-group.tsx delete mode 100644 src/renderer/components/+preferences/preferences-navigation/extensions-preferences-navigation-item-registrator.injectable.ts delete mode 100644 src/renderer/components/+preferences/preferences-navigation/preference-navigation-items-for-group.injectable.ts delete mode 100644 src/renderer/components/+preferences/preferences-navigation/preference-navigation-tab.tsx delete mode 100644 src/renderer/components/+preferences/telemetry-preference-items.injectable.ts diff --git a/src/common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable.ts b/src/common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable.ts deleted file mode 100644 index 38d25b4114..0000000000 --- a/src/common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 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 { computed } from "mobx"; -import { frontEndRouteInjectionToken } from "../../../front-end-route-injection-token"; -import type { Route } from "../../../front-end-route-injection-token"; - -interface ExtensionPreferenceRouteParams { - extensionId: string; - tabId?: string; -} - -const extensionPreferencesRouteInjectable = getInjectable({ - id: "extension-preferences-route", - - instantiate: (): Route => ({ - path: "/preferences/extension/:extensionId/:tabId?", - clusterFrame: false, - isEnabled: computed(() => true), - }), - - injectionToken: frontEndRouteInjectionToken, -}); - -export default extensionPreferencesRouteInjectable; diff --git a/src/common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable.ts b/src/common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable.ts deleted file mode 100644 index 085694a578..0000000000 --- a/src/common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * 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 extensionPreferencesRouteInjectable from "./extension-preferences-route.injectable"; -import { navigateToRouteInjectionToken } from "../../../navigate-to-route-injection-token"; - -const navigateToExtensionPreferencesInjectable = getInjectable({ - id: "navigate-to-extension-preferences", - - instantiate: (di) => { - const navigateToRoute = di.inject(navigateToRouteInjectionToken); - const route = di.inject(extensionPreferencesRouteInjectable); - - return (extensionId: string, tabId?: string) => navigateToRoute(route, { - parameters: { - extensionId, - tabId, - }, - withoutAffectingBackButton: true, - }); - }, -}); - -export default navigateToExtensionPreferencesInjectable; diff --git a/src/renderer/components/+preferences/app-preference-tab/app-preference-tab-registration.ts b/src/renderer/components/+preferences/app-preference-tab/app-preference-tab-registration.ts index d987e18b96..803e51130d 100644 --- a/src/renderer/components/+preferences/app-preference-tab/app-preference-tab-registration.ts +++ b/src/renderer/components/+preferences/app-preference-tab/app-preference-tab-registration.ts @@ -11,4 +11,3 @@ export interface AppPreferenceTabRegistration { orderNumber?: number; visible?: IComputedValue; } - diff --git a/src/renderer/components/+preferences/app-preferences/app-preferences.injectable.ts b/src/renderer/components/+preferences/app-preferences/app-preferences.injectable.ts deleted file mode 100644 index 83492ad22c..0000000000 --- a/src/renderer/components/+preferences/app-preferences/app-preferences.injectable.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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 rendererExtensionsInjectable from "../../../../extensions/renderer-extensions.injectable"; -import { getAppPreferences } from "./get-app-preferences"; - -const appPreferencesInjectable = getInjectable({ - id: "app-preferences", - - instantiate: (di) => - getAppPreferences({ - extensions: di.inject(rendererExtensionsInjectable), - }), -}); - -export default appPreferencesInjectable; diff --git a/src/renderer/components/+preferences/app-preferences/get-app-preferences.ts b/src/renderer/components/+preferences/app-preferences/get-app-preferences.ts deleted file mode 100644 index b0befb011e..0000000000 --- a/src/renderer/components/+preferences/app-preferences/get-app-preferences.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import type { IComputedValue } from "mobx"; -import { computed } from "mobx"; -import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension"; -import type { AppPreferenceRegistration, RegisteredAppPreference } from "./app-preference-registration"; - -interface Dependencies { - extensions: IComputedValue; -} - -function getRegisteredItem(item: AppPreferenceRegistration): RegisteredAppPreference { - return { - id: item.id || item.title.toLowerCase().replace(/[^0-9a-zA-Z]+/g, "-"), - ...item, - }; -} - - -export const getAppPreferences = ({ extensions }: Dependencies) => { - return computed(() => ( - extensions.get() - .flatMap((extension) => extension.appPreferences) - .map(getRegisteredItem) - )); -}; diff --git a/src/renderer/components/+preferences/extension-preference-item-registrator.injectable.ts b/src/renderer/components/+preferences/extension-preference-item-registrator.injectable.ts deleted file mode 100644 index 8182cfd2af..0000000000 --- a/src/renderer/components/+preferences/extension-preference-item-registrator.injectable.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * 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 { filter, map } from "lodash/fp"; -import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token"; -import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; -import { pipeline } from "@ogre-tools/fp"; -import { extensionPreferenceItemInjectionToken } from "./extension-preference-items-injection-token"; - -const extensionPreferenceItemRegistratorInjectable = getInjectable({ - id: "extension-preference-item-registrator", - - instantiate: - () => - (ext) => { - const extension = ext as LensRendererExtension; - - return pipeline( - extension.appPreferences, - - filter( - (registration) => !registration.showInPreferencesTab, - ), - - map((registration) => { - const id = `extension-preferences-item-${registration.id}-for-extension-${extension.sanitizedExtensionId}`; - - return getInjectable({ - id, - injectionToken: extensionPreferenceItemInjectionToken, - - instantiate: () => ({ - id: registration.id || id, - title: registration.title, - extension, - - components: { - Hint: registration.components.Hint, - Input: registration.components.Input, - }, - }), - }); - }), - ); - }, - - injectionToken: extensionRegistratorInjectionToken, -}); - -export default extensionPreferenceItemRegistratorInjectable; diff --git a/src/renderer/components/+preferences/extension-preference-items-injection-token.ts b/src/renderer/components/+preferences/extension-preference-items-injection-token.ts deleted file mode 100644 index 6c634f60da..0000000000 --- a/src/renderer/components/+preferences/extension-preference-items-injection-token.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { getInjectionToken } from "@ogre-tools/injectable"; -import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; -import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration"; - - interface ExtensionPreferenceItem extends RegisteredAppPreference { - extension: LensRendererExtension; - } - -export const extensionPreferenceItemInjectionToken = getInjectionToken({ - id: "extension-preference-item-injection-token", -}); - diff --git a/src/renderer/components/+preferences/extension-preference-model.injectable.ts b/src/renderer/components/+preferences/extension-preference-model.injectable.ts deleted file mode 100644 index ee87b5dcdf..0000000000 --- a/src/renderer/components/+preferences/extension-preference-model.injectable.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * 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 { computed } from "mobx"; -import extensionPreferencesRouteInjectable from "../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable"; -import rendererExtensionsInjectable from "../../../extensions/renderer-extensions.injectable"; -import routePathParametersInjectable from "../../routes/route-path-parameters.injectable"; -import { getExtensionPreferenceItems } from "./get-extension-preference-items"; - -const extensionPreferencesModelInjectable = getInjectable({ - id: "extension-preferences-model", - - instantiate: (di) => { - const route = di.inject(extensionPreferencesRouteInjectable); - const pathParameters = di.inject(routePathParametersInjectable, route); - const extensions = di.inject(rendererExtensionsInjectable); - - return computed(() => { - const { extensionId, tabId } = pathParameters.get(); - const targetExtension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId); - const targetAppTab = targetExtension?.appPreferenceTabs.find(tab => tab.id === tabId); - const preferencePageTitle = targetAppTab?.title || `${targetExtension?.manifest.name || "Extension"} preferences`; - - return { - extensionName: targetExtension?.manifest.name, - preferenceItems: getExtensionPreferenceItems(targetExtension, tabId), - preferencePageTitle, - }; - }); - }, -}); - -export default extensionPreferencesModelInjectable; diff --git a/src/renderer/components/+preferences/extension-preferences-route-component.injectable.ts b/src/renderer/components/+preferences/extension-preferences-route-component.injectable.ts deleted file mode 100644 index f67e94fd98..0000000000 --- a/src/renderer/components/+preferences/extension-preferences-route-component.injectable.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * 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 { routeSpecificComponentInjectionToken } from "../../routes/route-specific-component-injection-token"; -import extensionPreferencesRouteInjectable from "../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable"; -import { Extensions } from "./extensions"; - -const extensionPreferencesRouteComponentInjectable = getInjectable({ - id: "extension-preferences-route-component", - - instantiate: (di) => ({ - route: di.inject(extensionPreferencesRouteInjectable), - Component: Extensions, - }), - - injectionToken: routeSpecificComponentInjectionToken, -}); - -export default extensionPreferencesRouteComponentInjectable; diff --git a/src/renderer/components/+preferences/extension-telemetry-preference-item-registrator.injectable.ts b/src/renderer/components/+preferences/extension-telemetry-preference-item-registrator.injectable.ts deleted file mode 100644 index f6a3900675..0000000000 --- a/src/renderer/components/+preferences/extension-telemetry-preference-item-registrator.injectable.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * 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 { filter, map } from "lodash/fp"; -import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token"; -import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; -import { pipeline } from "@ogre-tools/fp"; -import { telemetryPreferenceItemInjectionToken } from "./telemetry-preference-items.injectable"; - -const extensionTelemetryPreferenceItemRegistratorInjectable = getInjectable({ - id: "extension-telemetry-preference-item-registrator", - - instantiate: - () => - (ext) => { - const extension = ext as LensRendererExtension; - - return pipeline( - extension.appPreferences, - - filter( - (registration) => registration.showInPreferencesTab === "telemetry", - ), - - map((registration) => { - const id = `telemetry-preferences-item-${registration.id}-for-extension-${extension.sanitizedExtensionId}`; - - return getInjectable({ - id, - injectionToken: telemetryPreferenceItemInjectionToken, - - instantiate: () => ({ - id: registration.id || id, - title: registration.title, - - components: { - Hint: registration.components.Hint, - Input: registration.components.Input, - }, - }), - }); - }), - ); - }, - - injectionToken: extensionRegistratorInjectionToken, -}); - -export default extensionTelemetryPreferenceItemRegistratorInjectable; diff --git a/src/renderer/components/+preferences/extensions.tsx b/src/renderer/components/+preferences/extensions.tsx deleted file mode 100644 index adc38fbe9b..0000000000 --- a/src/renderer/components/+preferences/extensions.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { withInjectables } from "@ogre-tools/injectable-react"; -import type { IComputedValue } from "mobx"; -import { observer } from "mobx-react"; -import React from "react"; -import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration"; -import extensionPreferencesModelInjectable from "./extension-preference-model.injectable"; -import { ExtensionPreferenceBlock } from "../../../features/preferences/renderer/compliance-for-legacy-extension-api/extension-preference-block"; - -interface Dependencies { - model: IComputedValue<{ - preferenceItems: RegisteredAppPreference[]; - extensionName?: string; - preferencePageTitle?: string; - }>; -} - -const NonInjectedExtensions = ({ model }: Dependencies) => { - const { extensionName, preferenceItems, preferencePageTitle } = model.get(); - - return ( -
-

- {preferencePageTitle} -

- {!extensionName && ( -
- No extension found -
- )} - {preferenceItems.map((preferenceItem, index) => ( - - ))} -
- ); -}; - -export const Extensions = withInjectables( - observer(NonInjectedExtensions), - - { - getProps: (di) => ({ - model: di.inject(extensionPreferencesModelInjectable), - }), - }, -); diff --git a/src/renderer/components/+preferences/get-extension-preference-items.ts b/src/renderer/components/+preferences/get-extension-preference-items.ts deleted file mode 100644 index a9c2237d18..0000000000 --- a/src/renderer/components/+preferences/get-extension-preference-items.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; -import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration"; - -export function getExtensionPreferenceItems(extension?: LensRendererExtension, tabId?: string): RegisteredAppPreference[] { - if (!extension) { - return []; - } - - const preferences = extension.appPreferences.map(preference => ({ - id: preference.id || preference.title, - ...preference, - })); - - if (tabId) { - return preferences.filter(preference => preference.showInPreferencesTab == tabId); - } - - return preferences.filter(preference => !preference.showInPreferencesTab); -} diff --git a/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts deleted file mode 100644 index 3fb2062ecf..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 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 { computed } from "mobx"; -import { map } from "lodash/fp"; - -import routeIsActiveInjectable from "../../../routes/route-is-active.injectable"; -import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; - -import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension"; -import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token"; -import { pipeline } from "@ogre-tools/fp"; -import extensionPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable"; -import navigateToExtensionPreferencesInjectable from "../../../../common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable"; -import type { LensExtension } from "../../../../extensions/lens-extension"; -import routePathParametersInjectable from "../../../routes/route-path-parameters.injectable"; - -const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({ - id: "extension-specific-tab-preferences-navigation-items", - - instantiate: (di) => { - return (ext: LensExtension) => { - const extension = ext as LensRendererExtension; - const navigateToExtensionPreferences = di.inject( - navigateToExtensionPreferencesInjectable, - ); - const route = di.inject(extensionPreferencesRouteInjectable); - const routeIsActive = di.inject(routeIsActiveInjectable, route); - const pathParameters = di.inject(routePathParametersInjectable, route); - - return pipeline( - extension.appPreferenceTabs, - - map((tab) => { - const id = `extension-${extension.sanitizedExtensionId}-nav-item-${tab.id}`; - const isActive = computed(() => routeIsActive.get() && pathParameters.get().tabId === tab.id); - - return getInjectable({ - id, - injectionToken: preferenceNavigationItemInjectionToken, - instantiate: () => ({ - id, - label: tab.title, - parent: "general", - orderNumber: tab.orderNumber || 100, - navigate: () => navigateToExtensionPreferences(extension.sanitizedExtensionId, tab.id), - - isVisible: computed(() => { - if (!tab.visible) { - return true; - } - - return tab.visible.get(); - }), - - isActive, - }), - }); - }), - ); - }; - }, - injectionToken: extensionRegistratorInjectionToken, -}); - -export default extensionSpecificTabNavigationItemRegistratorInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/extensions-nav-group.tsx b/src/renderer/components/+preferences/preferences-navigation/extensions-nav-group.tsx deleted file mode 100644 index fd0c4158f6..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/extensions-nav-group.tsx +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import React from "react"; -import { withInjectables } from "@ogre-tools/injectable-react"; -import type { IComputedValue } from "mobx"; -import type { PreferenceNavigationItem } from "./preference-navigation-items.injectable"; -import { Icon } from "../../icon"; -import { PreferencesNavigationTab } from "./preference-navigation-tab"; -import preferenceNavigationItemsForGroupInjectable from "./preference-navigation-items-for-group.injectable"; -import { observer } from "mobx-react"; - -interface Dependencies { - navigationItems: IComputedValue; -} - -const NonInjectedExtensionsNavGroup = observer((props: Dependencies) => { - if (!props.navigationItems.get().length) { - return null; - } - - return ( -
-
-
- - {" "} - Extensions -
-
- {props.navigationItems.get().map(item => ( - - ))} -
-
- ); -}); - -export const ExtensionsNavGroup = withInjectables( - NonInjectedExtensionsNavGroup, - - { - getProps: (di) => ({ - navigationItems: di.inject(preferenceNavigationItemsForGroupInjectable, "extensions"), - }), - }, -); diff --git a/src/renderer/components/+preferences/preferences-navigation/extensions-preferences-navigation-item-registrator.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/extensions-preferences-navigation-item-registrator.injectable.ts deleted file mode 100644 index 64b152e573..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/extensions-preferences-navigation-item-registrator.injectable.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 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 { computed } from "mobx"; -import extensionPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable"; -import navigateToExtensionPreferencesInjectable from "../../../../common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable"; -import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token"; -import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension"; -import routeIsActiveInjectable from "../../../routes/route-is-active.injectable"; -import routePathParametersInjectable from "../../../routes/route-path-parameters.injectable"; -import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; - -const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({ - id: "extension-preferences-navigation-item", - - instantiate: (di) => { - return (ext) => { - const extension = ext as LensRendererExtension; - const navigateToExtensionPreferences = di.inject( - navigateToExtensionPreferencesInjectable, - ); - - const extensionHasPreferences = extension.appPreferences.length > 0; - const extensionHasGeneralPreferences = extension.appPreferences.some(preferences => - !preferences.showInPreferencesTab, - ); - const isVisible = computed(() => extensionHasPreferences && extensionHasGeneralPreferences); - const extensionRoute = di.inject(extensionPreferencesRouteInjectable); - const pathParameters = di.inject(routePathParametersInjectable, extensionRoute); - const routeIsActive = di.inject(routeIsActiveInjectable, extensionRoute); - const isActive = computed(() => routeIsActive.get() && pathParameters.get().extensionId === extension.sanitizedExtensionId); - const id = `extension-preferences-navigation-item-${extension.sanitizedExtensionId}`; - - const injectable = getInjectable({ - id, - injectionToken: preferenceNavigationItemInjectionToken, - instantiate: () => ({ - id: `extension-${extension.sanitizedExtensionId}`, - label: `${extension.name}`, - navigate: () => navigateToExtensionPreferences(extension.sanitizedExtensionId), - isActive, - isVisible, - orderNumber: 20, - parent: "extensions", - }), - }); - - return [injectable]; - }; - }, - - injectionToken: extensionRegistratorInjectionToken, -}); - -export default extensionPreferencesNavigationItemRegistratorInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items-for-group.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items-for-group.injectable.ts deleted file mode 100644 index 9c63626f2b..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items-for-group.injectable.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { - getInjectable, - lifecycleEnum, -} from "@ogre-tools/injectable"; -import { computed } from "mobx"; -import type { PreferenceNavigationItem } from "./preference-navigation-items.injectable"; -import preferenceNavigationItemsInjectable from "./preference-navigation-items.injectable"; - -const preferenceNavigationItemsForGroupInjectable = getInjectable({ - id: "preference-navigation-items-for-group", - - instantiate: (di, group: string) => { - const preferenceNavigationItems = di.inject(preferenceNavigationItemsInjectable); - - return computed((): PreferenceNavigationItem[] => - preferenceNavigationItems.get().filter((item) => item.parent == group), - ); - }, - - lifecycle: lifecycleEnum.keyedSingleton({ - getInstanceKey: (di, group: string) => group, - }), -}); - -export default preferenceNavigationItemsForGroupInjectable; - diff --git a/src/renderer/components/+preferences/preferences-navigation/preference-navigation-tab.tsx b/src/renderer/components/+preferences/preferences-navigation/preference-navigation-tab.tsx deleted file mode 100644 index a236c74ea9..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/preference-navigation-tab.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { observer } from "mobx-react"; -import React from "react"; -import { Tab } from "../../tabs"; -import type { PreferenceNavigationItem } from "./preference-navigation-items.injectable"; - -interface PreferenceNavigationTabProps extends React.DOMAttributes { - item: PreferenceNavigationItem; -} - -export const PreferencesNavigationTab = observer(({ item }: PreferenceNavigationTabProps) => ( - -)); diff --git a/src/renderer/components/+preferences/telemetry-preference-items.injectable.ts b/src/renderer/components/+preferences/telemetry-preference-items.injectable.ts deleted file mode 100644 index b0b920e7f5..0000000000 --- a/src/renderer/components/+preferences/telemetry-preference-items.injectable.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable, getInjectionToken } from "@ogre-tools/injectable"; -import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; -import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration"; - -export const telemetryPreferenceItemInjectionToken = getInjectionToken({ - id: "telemetry-preference-item-injection-token", -}); - -const telemetryPreferenceItemsInjectable = getInjectable({ - id: "telemetry-preference-items", - - instantiate: (di) => { - const computedInjectMany = di.inject(computedInjectManyInjectable); - - return computedInjectMany(telemetryPreferenceItemInjectionToken); - }, -}); - -export default telemetryPreferenceItemsInjectable; -