diff --git a/packages/core/src/features/preferences/closing-preferences.test.tsx b/packages/core/src/features/preferences/closing-preferences.test.tsx index fe902093df..8ff9cfa65d 100644 --- a/packages/core/src/features/preferences/closing-preferences.test.tsx +++ b/packages/core/src/features/preferences/closing-preferences.test.tsx @@ -12,13 +12,13 @@ import { frontEndRouteInjectionToken } from "../../common/front-end-routing/fron import { computed, runInAction } from "mobx"; import React from "react"; import { routeSpecificComponentInjectionToken } from "../../renderer/routes/route-specific-component-injection-token"; -import observableHistoryInjectable from "../../renderer/navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import { createMemoryHistory } from "history"; import { createObservableHistory } from "mobx-observable-history"; import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable"; import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token"; import { preferenceItemInjectionToken } from "./renderer/preference-items/preference-item-injection-token"; -import { searchParamsOptions } from "../../renderer/navigation/search-params"; +import { searchParamsOptions } from "@k8slens/routing"; describe("preferences - closing-preferences", () => { let builder: ApplicationBuilder; diff --git a/packages/core/src/features/preferences/renderer/close-preferences/close-preferences.injectable.ts b/packages/core/src/features/preferences/renderer/close-preferences/close-preferences.injectable.ts index 57860c2f28..880fafce85 100644 --- a/packages/core/src/features/preferences/renderer/close-preferences/close-preferences.injectable.ts +++ b/packages/core/src/features/preferences/renderer/close-preferences/close-preferences.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import observableHistoryInjectable from "../../../../renderer/navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import navigateToFrontPageInjectable from "../../../../common/front-end-routing/navigate-to-front-page.injectable"; const closePreferencesInjectable = getInjectable({ diff --git a/packages/core/src/renderer/api/helpers/watch-for-general-entity-navigation.injectable.ts b/packages/core/src/renderer/api/helpers/watch-for-general-entity-navigation.injectable.ts index 70b7a61eae..d86ad38d49 100644 --- a/packages/core/src/renderer/api/helpers/watch-for-general-entity-navigation.injectable.ts +++ b/packages/core/src/renderer/api/helpers/watch-for-general-entity-navigation.injectable.ts @@ -7,7 +7,7 @@ import { reaction, when } from "mobx"; import type { GeneralEntity } from "../../../common/catalog-entities"; import generalCategoryInjectable from "../../../common/catalog/categories/general.injectable"; import isActiveRouteInjectable from "../../navigation/is-route-active.injectable"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import type { Disposer } from "@k8slens/utilities"; import { disposer } from "@k8slens/utilities"; import catalogEntityRegistryInjectable from "../catalog/entity/registry.injectable"; diff --git a/packages/core/src/renderer/components/+entity-settings/active-tabs.injectable.ts b/packages/core/src/renderer/components/+entity-settings/active-tabs.injectable.ts index 82f8ad6985..e505795de9 100644 --- a/packages/core/src/renderer/components/+entity-settings/active-tabs.injectable.ts +++ b/packages/core/src/renderer/components/+entity-settings/active-tabs.injectable.ts @@ -6,7 +6,7 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import { action } from "mobx"; import { byOrderNumber } from "../../../common/utils/composable-responsibilities/orderable/orderable"; import type { CatalogEntity } from "../../api/catalog-entity"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import type { RegisteredEntitySetting } from "./extension-registrator.injectable"; import catalogEntitySettingItemsInjectable from "./settings.injectable"; diff --git a/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx b/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx index 9db066e1ad..a1e6130db9 100644 --- a/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx +++ b/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx @@ -7,7 +7,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import { rootFrameChildComponentInjectionToken } from "../../frames/root-frame/root-frame-child-component-injection-token"; import { ClusterManager } from "./cluster-manager"; import { computed } from "mobx"; -import { ErrorBoundary } from "../error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; const clusterManagerRootFrameChildComponentInjectable = getInjectable({ id: "cluster-manager-root-frame-child-component", diff --git a/packages/core/src/renderer/components/dialog/dialog.tsx b/packages/core/src/renderer/components/dialog/dialog.tsx index 765d9b7317..9c8d395e90 100644 --- a/packages/core/src/renderer/components/dialog/dialog.tsx +++ b/packages/core/src/renderer/components/dialog/dialog.tsx @@ -13,7 +13,7 @@ import { Animate } from "../animate"; import { cssNames, noop, stopPropagation } from "@k8slens/utilities"; import type { ObservableHistory } from "mobx-observable-history"; import { withInjectables } from "@ogre-tools/injectable-react"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import requestAnimationFrameInjectable from "../animate/request-animation-frame.injectable"; // todo: refactor + handle animation-end in props.onClose()? diff --git a/packages/core/src/renderer/components/dock/dock.tsx b/packages/core/src/renderer/components/dock/dock.tsx index 4d18c316d9..8f0bf1a482 100644 --- a/packages/core/src/renderer/components/dock/dock.tsx +++ b/packages/core/src/renderer/components/dock/dock.tsx @@ -24,7 +24,7 @@ import { withInjectables } from "@ogre-tools/injectable-react"; import createResourceTabInjectable from "./create-resource/create-resource-tab.injectable"; import dockStoreInjectable from "./dock/store.injectable"; import createTerminalTabInjectable from "./terminal/create-terminal-tab.injectable"; -import { ErrorBoundary } from "../error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; export interface DockProps { className?: string; diff --git a/packages/core/src/renderer/components/drawer/drawer.tsx b/packages/core/src/renderer/components/drawer/drawer.tsx index 5959c0c098..85981f17ec 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 "../../navigation/history.injectable"; +import historyInjectable from "@k8slens/routing"; import type { History } from "history"; import type { StorageLayer } from "../../utils/storage-helper"; diff --git a/packages/core/src/renderer/components/error-boundary/error-boundary.scss b/packages/core/src/renderer/components/error-boundary/error-boundary.scss deleted file mode 100644 index b68ab5878f..0000000000 --- a/packages/core/src/renderer/components/error-boundary/error-boundary.scss +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -.ErrorBoundary { - --flex-gap: #{$padding * 2}; - - padding: var(--flex-gap); - word-break: break-all; - - .wrapper { - display: grid; - grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr); - column-gap: 12px; - row-gap: 12px; - - @media screen and (max-width: 900px) { - grid-template-columns: auto; - } - } - - code { - max-height: none; - border: 5px solid var(--borderFaintColor); - white-space: pre-wrap; - background: var(--contentColor); - color: var(--textColorSecondary); - } - - a { - color: var(--colorInfo); - } -} diff --git a/packages/core/src/renderer/components/error-boundary/error-boundary.tsx b/packages/core/src/renderer/components/error-boundary/error-boundary.tsx deleted file mode 100644 index 6621923cfe..0000000000 --- a/packages/core/src/renderer/components/error-boundary/error-boundary.tsx +++ /dev/null @@ -1,103 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import "./error-boundary.scss"; - -import type { ErrorInfo } from "react"; -import React from "react"; -import { observer } from "mobx-react"; -import { Button } from "@k8slens/button"; -import { issuesTrackerUrl, forumsUrl } from "../../../common/vars"; -import type { SingleOrMany } from "@k8slens/utilities"; -import type { ObservableHistory } from "mobx-observable-history"; -import { withInjectables } from "@ogre-tools/injectable-react"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; - -export interface ErrorBoundaryProps { - children?: SingleOrMany; -} - -interface State { - error?: Error; - errorInfo?: ErrorInfo; -} - -interface Dependencies { - observableHistory: ObservableHistory; -} - -@observer -class NonInjectedErrorBoundary extends React.Component { - public state: State = {}; - - componentDidCatch(error: Error, errorInfo: ErrorInfo) { - this.setState({ error, errorInfo }); - } - - back = () => { - this.setState({ error: undefined, errorInfo: undefined }); - this.props.observableHistory.goBack(); - }; - - render() { - const { error, errorInfo } = this.state; - - if (error) { - return ( -
-
- {"App crash at "} - {location.pathname} -
-

- - {"To help us improve the product please report bugs on"} - - Lens Forums - - {" or on our"} - - Github - - {" issues tracker."} -

-
- -

Component stack:

- {errorInfo?.componentStack} -
- -

Error stack:

- {error.stack} -
-
-
- ); - } - - return this.props.children; - } -} - -export const ErrorBoundary = withInjectables(NonInjectedErrorBoundary, { - getProps: (di, props) => ({ - ...props, - observableHistory: di.inject(observableHistoryInjectable), - }), -}); diff --git a/packages/core/src/renderer/components/error-boundary/index.ts b/packages/core/src/renderer/components/error-boundary/index.ts deleted file mode 100644 index 49746a7b25..0000000000 --- a/packages/core/src/renderer/components/error-boundary/index.ts +++ /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 "./error-boundary"; diff --git a/packages/core/src/renderer/components/kube-detail-params/get-details-url.injectable.ts b/packages/core/src/renderer/components/kube-detail-params/get-details-url.injectable.ts index e11e9e5d05..ac839e0658 100644 --- a/packages/core/src/renderer/components/kube-detail-params/get-details-url.injectable.ts +++ b/packages/core/src/renderer/components/kube-detail-params/get-details-url.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import kubeDetailsUrlParamInjectable from "./kube-details-url.injectable"; import kubeSelectedUrlParamInjectable from "./kube-selected-url.injectable"; diff --git a/packages/core/src/renderer/components/kube-detail-params/show-details.injectable.ts b/packages/core/src/renderer/components/kube-detail-params/show-details.injectable.ts index c91198fd78..e1ab0f9aed 100644 --- a/packages/core/src/renderer/components/kube-detail-params/show-details.injectable.ts +++ b/packages/core/src/renderer/components/kube-detail-params/show-details.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import getDetailsUrlInjectable from "./get-details-url.injectable"; /** diff --git a/packages/core/src/renderer/components/layout/main-layout.tsx b/packages/core/src/renderer/components/layout/main-layout.tsx index a078ac7b74..d8f2cb7f25 100755 --- a/packages/core/src/renderer/components/layout/main-layout.tsx +++ b/packages/core/src/renderer/components/layout/main-layout.tsx @@ -8,7 +8,7 @@ import styles from "./main-layout.module.scss"; import React from "react"; import { observer } from "mobx-react"; import { cssNames } from "@k8slens/utilities"; -import { ErrorBoundary } from "../error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; import { ResizeDirection, ResizeGrowthDirection, ResizeSide, ResizingAnchor } from "../resizing-anchor"; import { withInjectables } from "@ogre-tools/injectable-react"; import type { SidebarStorageState } from "./sidebar-storage/sidebar-storage.injectable"; diff --git a/packages/core/src/renderer/components/layout/setting-layout.tsx b/packages/core/src/renderer/components/layout/setting-layout.tsx index 09ceba9a5d..43d5407b70 100644 --- a/packages/core/src/renderer/components/layout/setting-layout.tsx +++ b/packages/core/src/renderer/components/layout/setting-layout.tsx @@ -12,7 +12,7 @@ import { cssNames } from "@k8slens/utilities"; import { CloseButton } from "./close-button"; import { getLegacyGlobalDiForExtensionApi } from "../../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; import navigateToCatalogInjectable from "../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; export interface SettingLayoutProps extends React.DOMAttributes { className?: IClassName; diff --git a/packages/core/src/renderer/components/layout/tab-layout-2.tsx b/packages/core/src/renderer/components/layout/tab-layout-2.tsx index db0d873bfd..62a545c22b 100644 --- a/packages/core/src/renderer/components/layout/tab-layout-2.tsx +++ b/packages/core/src/renderer/components/layout/tab-layout-2.tsx @@ -9,7 +9,7 @@ import React from "react"; import { observer } from "mobx-react"; import { cssNames } from "@k8slens/utilities"; import { Tab, Tabs } from "../tabs"; -import { ErrorBoundary } from "../error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; import type { HierarchicalSidebarItem } from "./sidebar-items.injectable"; export interface TabLayoutProps { diff --git a/packages/core/src/renderer/components/layout/tab-layout.tsx b/packages/core/src/renderer/components/layout/tab-layout.tsx index d91a31d5e8..76bf2aac3f 100644 --- a/packages/core/src/renderer/components/layout/tab-layout.tsx +++ b/packages/core/src/renderer/components/layout/tab-layout.tsx @@ -12,10 +12,10 @@ import { observer } from "mobx-react"; import type { IClassName } from "@k8slens/utilities"; import { cssNames } from "@k8slens/utilities"; import { Tab, Tabs } from "../tabs"; -import { ErrorBoundary } from "../error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; import type { ObservableHistory } from "mobx-observable-history"; import { withInjectables } from "@ogre-tools/injectable-react"; -import observableHistoryInjectable from "../../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import type { Navigate } from "../../navigation/navigate.injectable"; import navigateInjectable from "../../navigation/navigate.injectable"; 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 cee9ddc0f2..5a398bd8b1 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,7 @@ 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 "../../navigation/history.injectable"; +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"; 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 e3ce80e13a..596c7b2fcf 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 "../../navigation/history.injectable"; +import historyInjectable from "@k8slens/routing"; import { computed } from "mobx"; import { Cluster } from "../../../common/cluster/cluster"; import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.injectable"; diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx index dd9d087769..e80465ceec 100755 --- a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx +++ b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx @@ -4,7 +4,7 @@ */ import React, { useEffect } from "react"; import { Observer, observer } from "mobx-react"; -import { ErrorBoundary } from "../../components/error-boundary"; +import { ErrorBoundary } from "@k8slens/error-boundary"; import type { NamespaceStore } from "../../components/+namespaces/store"; import { withInjectables } from "@ogre-tools/injectable-react"; import namespaceStoreInjectable from "../../components/+namespaces/store.injectable"; 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 6853b0eaed..3d060152ef 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 "../navigation/history.injectable"; +import historyInjectable from "@k8slens/routing"; import React from "react"; import { diff --git a/packages/core/src/renderer/navigation/create-page-param.injectable.ts b/packages/core/src/renderer/navigation/create-page-param.injectable.ts index 19b96d9b88..00801b99ef 100644 --- a/packages/core/src/renderer/navigation/create-page-param.injectable.ts +++ b/packages/core/src/renderer/navigation/create-page-param.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import observableHistoryInjectable from "./observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import type { PageParamDependencies, PageParamInit } from "./page-param"; import { PageParam } from "./page-param"; 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 cc3587d12a..7972633a5c 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 "./history.injectable"; +import historyInjectable from "@k8slens/routing"; export default getGlobalOverride(historyInjectable, () => createMemoryHistory()); diff --git a/packages/core/src/renderer/navigation/history.injectable.ts b/packages/core/src/renderer/navigation/history.injectable.ts deleted file mode 100644 index 63f725dc28..0000000000 --- a/packages/core/src/renderer/navigation/history.injectable.ts +++ /dev/null @@ -1,14 +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 { createBrowserHistory } from "history"; -import type { History } from "history"; - -const historyInjectable = getInjectable({ - id: "history", - instantiate: (): History => createBrowserHistory(), -}); - -export default historyInjectable; diff --git a/packages/core/src/renderer/navigation/match-route.injectable.ts b/packages/core/src/renderer/navigation/match-route.injectable.ts index 44518c3e09..c53ceff0e4 100644 --- a/packages/core/src/renderer/navigation/match-route.injectable.ts +++ b/packages/core/src/renderer/navigation/match-route.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import type { match, RouteProps } from "react-router"; import { matchPath } from "react-router"; -import observableHistoryInjectable from "./observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; export type MatchRoute = (route: string | string[] | RouteProps) => match | null; diff --git a/packages/core/src/renderer/navigation/navigate.injectable.ts b/packages/core/src/renderer/navigation/navigate.injectable.ts index 01995b0b94..ea75ab395b 100644 --- a/packages/core/src/renderer/navigation/navigate.injectable.ts +++ b/packages/core/src/renderer/navigation/navigate.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import type { LocationDescriptor } from "history"; import { action } from "mobx"; -import observableHistoryInjectable from "./observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import { createPath } from "history"; export type Navigate = (location: LocationDescriptor) => void; diff --git a/packages/core/src/renderer/navigation/observable-history.injectable.ts b/packages/core/src/renderer/navigation/observable-history.injectable.ts deleted file mode 100644 index c813c675fd..0000000000 --- a/packages/core/src/renderer/navigation/observable-history.injectable.ts +++ /dev/null @@ -1,23 +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 { createObservableHistory } from "mobx-observable-history"; -import { searchParamsOptions } from "./search-params"; -import historyInjectable from "./history.injectable"; - -const observableHistoryInjectable = getInjectable({ - id: "observable-history", - - instantiate: (di) => { - const history = di.inject(historyInjectable); - const navigation = createObservableHistory(history, { - searchParams: searchParamsOptions, - }); - - return navigation; - }, -}); - -export default observableHistoryInjectable; diff --git a/packages/core/src/renderer/navigation/search-params.ts b/packages/core/src/renderer/navigation/search-params.ts deleted file mode 100644 index 5f8c44db3a..0000000000 --- a/packages/core/src/renderer/navigation/search-params.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import type { ObservableSearchParamsOptions } from "mobx-observable-history"; - -export const searchParamsOptions: ObservableSearchParamsOptions = { - skipEmpty: true, // skip empty params, e.g. "?x=&y2=" will be "?y=2" - joinArrays: false, // join multiple params with same name, e.g. "?x=1&x=2" => "?x=1,2" - joinArraysWith: ",", // param values splitter, applicable only with {joinArrays:true} -}; diff --git a/packages/core/src/renderer/navigation/setup-logging-for-navigation.injectable.ts b/packages/core/src/renderer/navigation/setup-logging-for-navigation.injectable.ts index b56eb979a2..a971f394f9 100644 --- a/packages/core/src/renderer/navigation/setup-logging-for-navigation.injectable.ts +++ b/packages/core/src/renderer/navigation/setup-logging-for-navigation.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import loggerInjectable from "../../common/logger.injectable"; import { beforeFrameStartsSecondInjectionToken } from "../before-frame-starts/tokens"; -import observableHistoryInjectable from "./observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; const setupLoggingForNavigationInjectable = getInjectable({ id: "setup-logging-for-navigation", diff --git a/packages/core/src/renderer/remote-helpers/watch-history-state.injectable.ts b/packages/core/src/renderer/remote-helpers/watch-history-state.injectable.ts index f878b7d20c..d31515bb50 100644 --- a/packages/core/src/renderer/remote-helpers/watch-history-state.injectable.ts +++ b/packages/core/src/renderer/remote-helpers/watch-history-state.injectable.ts @@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import { emitWindowLocationChanged } from "../ipc"; import { reaction } from "mobx"; -import observableHistoryInjectable from "../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; const watchHistoryStateInjectable = getInjectable({ id: "watch-history-state", diff --git a/packages/core/src/renderer/routes/current-path.injectable.ts b/packages/core/src/renderer/routes/current-path.injectable.ts index 4ca6d64e8f..a76ad37315 100644 --- a/packages/core/src/renderer/routes/current-path.injectable.ts +++ b/packages/core/src/renderer/routes/current-path.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { computed } from "mobx"; -import observableHistoryInjectable from "../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; const currentPathInjectable = getInjectable({ id: "current-path", diff --git a/packages/core/src/renderer/routes/navigate-to-url.injectable.ts b/packages/core/src/renderer/routes/navigate-to-url.injectable.ts index 616bfb6431..3d9611a3b7 100644 --- a/packages/core/src/renderer/routes/navigate-to-url.injectable.ts +++ b/packages/core/src/renderer/routes/navigate-to-url.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import observableHistoryInjectable from "../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; import { runInAction } from "mobx"; import type { NavigateToUrl } from "../../common/front-end-routing/navigate-to-url-injection-token"; import { navigateToUrlInjectionToken } from "../../common/front-end-routing/navigate-to-url-injection-token"; diff --git a/packages/core/src/renderer/routes/query-parameters.injectable.ts b/packages/core/src/renderer/routes/query-parameters.injectable.ts index 2faf4b67b9..c77a760afc 100644 --- a/packages/core/src/renderer/routes/query-parameters.injectable.ts +++ b/packages/core/src/renderer/routes/query-parameters.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import { computed } from "mobx"; import { parse as parseQueryString } from "query-string"; -import observableHistoryInjectable from "../navigation/observable-history.injectable"; +import observableHistoryInjectable from "@k8slens/routing"; const queryParametersInjectable = getInjectable({ id: "query-parameters", diff --git a/packages/routing/index.ts b/packages/routing/index.ts index aec18c0b4b..1ec2fb46d3 100644 --- a/packages/routing/index.ts +++ b/packages/routing/index.ts @@ -5,6 +5,8 @@ import observableHistoryInjectable from "./src/observable-history.injectable"; +export * from "./src/history.injectable"; export * from "./src/observable-history.injectable"; +export * from "./src/search-params"; export default observableHistoryInjectable; diff --git a/packages/ui-components/error-boundary/src/index.ts b/packages/ui-components/error-boundary/src/index.ts index 3396c8751c..a650de48e2 100644 --- a/packages/ui-components/error-boundary/src/index.ts +++ b/packages/ui-components/error-boundary/src/index.ts @@ -3,8 +3,5 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ -import observableHistoryInjectable from "./routing/observable-history.injectable"; +export * from "./error-boundary"; -export * from "./routing/observable-history.injectable"; - -export default observableHistoryInjectable;