diff --git a/src/renderer/components/+preferences/index.tsx b/src/renderer/components/+preferences/index.tsx deleted file mode 100644 index 10c9caf54b..0000000000 --- a/src/renderer/components/+preferences/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -export * from "./preferences"; diff --git a/src/renderer/components/+preferences/kubectl-binaries.tsx b/src/renderer/components/+preferences/kubectl-binaries.tsx deleted file mode 100644 index 413a85f023..0000000000 --- a/src/renderer/components/+preferences/kubectl-binaries.tsx +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import React, { useState } from "react"; -import { observer } from "mobx-react"; -import { Input, InputValidators } from "../input"; -import { SubTitle } from "../layout/sub-title"; -import type { UserStore } from "../../../common/user-store"; -import { Select } from "../select"; -import { Switch } from "../switch"; -import { defaultPackageMirror, packageMirrors } from "../../../common/user-store/preferences-helpers"; -import directoryForBinariesInjectable from "../../../common/app-paths/directory-for-binaries/directory-for-binaries.injectable"; -import { withInjectables } from "@ogre-tools/injectable-react"; -import userStoreInjectable from "../../../common/user-store/user-store.injectable"; -import directoryForKubectlBinariesInjectable from "../../../common/app-paths/directory-for-kubectl-binaries/directory-for-kubectl-binaries.injectable"; - -interface Dependencies { - defaultPathForGeneralBinaries: string; - defaultPathForKubectlBinaries: string; - userStore: UserStore; -} -const downloadMirrorOptions = Array.from(packageMirrors, ([name, mirror]) => ({ - value: name, - label: mirror.label, - isDisabled: !mirror.platforms.has(process.platform), -})); - -const NonInjectedKubectlBinaries= observer(({ - defaultPathForGeneralBinaries, - defaultPathForKubectlBinaries, - userStore, -}: Dependencies) => { - const [downloadPath, setDownloadPath] = useState(userStore.downloadBinariesPath || ""); - const [binariesPath, setBinariesPath] = useState(userStore.kubectlBinariesPath || ""); - const pathValidator = downloadPath ? InputValidators.isPath : undefined; - - const save = () => { - userStore.downloadBinariesPath = downloadPath; - userStore.kubectlBinariesPath = binariesPath; - }; - - return ( - <> - - - userStore.downloadKubectlBinaries = !userStore.downloadKubectlBinaries} - > - Download kubectl binaries matching the Kubernetes cluster version - - - - - - userStore.downloadMirror = option?.value ?? defaultPackageMirror} - isDisabled={!userStore.downloadKubectlBinaries} - themeName="lens" - /> - - - - - - The directory to download binaries into. - - - - - - - > - ); -}, -); - -export const KubectlBinaries = withInjectables( - NonInjectedKubectlBinaries, - { - getProps: (di) => ({ - defaultPathForGeneralBinaries: di.inject(directoryForBinariesInjectable), - defaultPathForKubectlBinaries: di.inject(directoryForKubectlBinariesInjectable), - userStore: di.inject(userStoreInjectable), - }), - }, -); diff --git a/src/renderer/components/+preferences/preferences-navigation/application-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/application-preferences-navigation-item.injectable.ts deleted file mode 100644 index 26bcd3c021..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/application-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,32 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; - -const applicationPreferencesNavigationItemInjectable = getInjectable({ - id: "application-preferences-navigation-item", - - instantiate: (di) => { - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "app"); - - return { - id: "application", - label: "App", - parent: "general", - navigate: () => navigateToPreferenceTab("app"), - isActive: preferenceTabIsActive, - isVisible: computed(() => true), - orderNumber: 10, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default applicationPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts deleted file mode 100644 index ffcdff7257..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,32 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; - -const editorPreferencesNavigationItemInjectable = getInjectable({ - id: "editor-preferences-navigation-item", - - instantiate: (di) => { - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "editor"); - - return { - id: "editor", - label: "Editor", - parent: "general", - navigate: () => navigateToPreferenceTab("editor"), - isActive: preferenceTabIsActive, - isVisible: computed(() => true), - orderNumber: 40, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default editorPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/general-nav-group.tsx b/src/renderer/components/+preferences/preferences-navigation/general-nav-group.tsx deleted file mode 100644 index 0dc3b4693e..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/general-nav-group.tsx +++ /dev/null @@ -1,45 +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 { PreferencesNavigationTab } from "./preference-navigation-tab"; -import preferenceNavigationItemsForGroupInjectable from "./preference-navigation-items-for-group.injectable"; -import { observer } from "mobx-react"; - -interface Dependencies { - navigationItems: IComputedValue; -} - -const NonInjectedGeneralNavGroup = observer((props: Dependencies) => { - if (!props.navigationItems.get().length) { - return null; - } - - return ( - - Preferences - - {props.navigationItems.get().map(item => ( - - ))} - - ); -}); - -export const GeneralNavGroup = withInjectables( - NonInjectedGeneralNavGroup, - - { - getProps: (di) => ({ - navigationItems: di.inject(preferenceNavigationItemsForGroupInjectable, "general"), - }), - }, -); diff --git a/src/renderer/components/+preferences/preferences-navigation/kubernetes-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/kubernetes-preferences-navigation-item.injectable.ts deleted file mode 100644 index 27d0a634b8..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/kubernetes-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,32 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; - -const kubernetesPreferencesNavigationItemInjectable = getInjectable({ - id: "kubernetes-preferences-navigation-item", - - instantiate: (di) => { - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "kubernetes"); - - return { - id: "kubernetes", - label: "Kubernetes", - parent: "general", - navigate: () => navigateToPreferenceTab("kubernetes"), - isActive: preferenceTabIsActive, - isVisible: computed(() => true), - orderNumber: 30, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default kubernetesPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/preferences-navigation.tsx b/src/renderer/components/+preferences/preferences-navigation/preferences-navigation.tsx deleted file mode 100644 index 55830433cd..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/preferences-navigation.tsx +++ /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 React from "react"; -import { Tabs } from "../../tabs"; -import { ExtensionsNavGroup } from "./extensions-nav-group"; -import { GeneralNavGroup } from "./general-nav-group"; -import type { - PreferenceNavigationItem, -} from "./preference-navigation-items.injectable"; - -export const PreferencesNavigation = () => { - return ( - item.navigate()} - > - - - - ); -}; diff --git a/src/renderer/components/+preferences/preferences-navigation/proxy-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/proxy-preferences-navigation-item.injectable.ts deleted file mode 100644 index 1f2ddcea9a..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/proxy-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,32 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; - -const proxyPreferencesNavigationItemInjectable = getInjectable({ - id: "proxy-preferences-navigation-item", - - instantiate: (di) => { - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "proxy"); - - return { - id: "proxy", - label: "Proxy", - parent: "general", - navigate: () => navigateToPreferenceTab("proxy"), - isActive: preferenceTabIsActive, - isVisible: computed(() => true), - orderNumber: 20, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default proxyPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/telemetry-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/telemetry-preferences-navigation-item.injectable.ts deleted file mode 100644 index f4218efa78..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/telemetry-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,40 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import telemetryPreferenceItemsInjectable from "../telemetry-preference-items.injectable"; -import sentryDataSourceNameInjectable from "../../../../common/vars/sentry-dsn-url.injectable"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; - -const terminalPreferencesNavigationItemInjectable = getInjectable({ - id: "telemetry-preferences-navigation-item", - - instantiate: (di) => { - const sentryDataSourceName = di.inject(sentryDataSourceNameInjectable); - const telemetryPreferenceItems = di.inject(telemetryPreferenceItemsInjectable); - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "telemetry"); - - return { - id: "telemetry", - label: "Telemetry", - parent: "general", - navigate: () => navigateToPreferenceTab("telemetry"), - isActive: preferenceTabIsActive, - - isVisible: computed( - () => !!sentryDataSourceName || telemetryPreferenceItems.get().length > 0, - ), - - orderNumber: 60, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default terminalPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences-navigation/terminal-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/terminal-preferences-navigation-item.injectable.ts deleted file mode 100644 index d66a5e085a..0000000000 --- a/src/renderer/components/+preferences/preferences-navigation/terminal-preferences-navigation-item.injectable.ts +++ /dev/null @@ -1,32 +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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import { computed } from "mobx"; -import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable"; -import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable"; - -const terminalPreferencesNavigationItemInjectable = getInjectable({ - id: "terminal-preferences-navigation-item", - - instantiate: (di) => { - const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "terminal"); - - return { - id: "terminal", - label: "Terminal", - parent: "general", - navigate: () => navigateToPreferenceTab("terminal"), - isActive: preferenceTabIsActive, - isVisible: computed(() => true), - orderNumber: 50, - }; - }, - - injectionToken: preferenceNavigationItemInjectionToken, -}); - -export default terminalPreferencesNavigationItemInjectable; diff --git a/src/renderer/components/+preferences/preferences.tsx b/src/renderer/components/+preferences/preferences.tsx deleted file mode 100644 index ab40a5ba13..0000000000 --- a/src/renderer/components/+preferences/preferences.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import "./preferences.scss"; -import React from "react"; - -import { SettingLayout } from "../layout/setting-layout"; -import { PreferencesNavigation } from "./preferences-navigation/preferences-navigation"; -import { withInjectables } from "@ogre-tools/injectable-react"; -import closePreferencesInjectable from "./close-preferences.injectable"; - -interface PreferencesProps extends React.DOMAttributes { - children: React.ReactNode; -} - -interface Dependencies { - closePreferences: () => void; -} - -const NonInjectedPreferences = ({ - children, - closePreferences, - ...props -}: PreferencesProps & Dependencies) => ( - } - className="Preferences" - contentGaps={false} - closeButtonProps={{ "data-testid": "close-preferences" }} - back={closePreferences} - {...props} - > - {children} - -); - -export const Preferences = withInjectables( - NonInjectedPreferences, - - { - getProps: (di, props) => ({ - closePreferences: di.inject(closePreferencesInjectable), - ...props, - }), - }, -); -