diff --git a/src/common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable.ts b/src/features/preferences/common/navigate-to-telemetry-preferences.injectable.ts similarity index 58% rename from src/common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable.ts rename to src/features/preferences/common/navigate-to-telemetry-preferences.injectable.ts index 45f7559ba9..9ade36a296 100644 --- a/src/common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable.ts +++ b/src/features/preferences/common/navigate-to-telemetry-preferences.injectable.ts @@ -3,17 +3,17 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import telemetryPreferencesRouteInjectable from "./telemetry-preferences-route.injectable"; -import { navigateToRouteInjectionToken } from "../../../navigate-to-route-injection-token"; +import { navigateToRouteInjectionToken } from "../../../common/front-end-routing/navigate-to-route-injection-token"; +import preferencesRouteInjectable from "./preferences-route.injectable"; const navigateToTelemetryPreferencesInjectable = getInjectable({ id: "navigate-to-telemetry-preferences", instantiate: (di) => { const navigateToRoute = di.inject(navigateToRouteInjectionToken); - const route = di.inject(telemetryPreferencesRouteInjectable); + const route = di.inject(preferencesRouteInjectable); - return () => navigateToRoute(route); + return () => navigateToRoute(route, { parameters: { preferenceTabId: "telemetry" }}); }, }); diff --git a/src/features/preferences/navigation-to-telemetry-preferences.test.tsx b/src/features/preferences/navigation-to-telemetry-preferences.test.tsx index f424165364..3a563df59f 100644 --- a/src/features/preferences/navigation-to-telemetry-preferences.test.tsx +++ b/src/features/preferences/navigation-to-telemetry-preferences.test.tsx @@ -6,7 +6,7 @@ import type { RenderResult } from "@testing-library/react"; import React from "react"; import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder"; import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder"; -import navigateToTelemetryPreferencesInjectable from "../../common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable"; +import navigateToTelemetryPreferencesInjectable from "./common/navigate-to-telemetry-preferences.injectable"; import sentryDataSourceNameInjectable from "../../common/vars/sentry-dsn-url.injectable"; import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake"; 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 index 6840c360cd..e4737ef77d 100644 --- 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 @@ -4,37 +4,27 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import routeIsActiveInjectable from "../../../routes/route-is-active.injectable"; import { computed } from "mobx"; import telemetryPreferenceItemsInjectable from "../telemetry-preference-items.injectable"; -import telemetryPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/telemetry/telemetry-preferences-route.injectable"; import sentryDataSourceNameInjectable from "../../../../common/vars/sentry-dsn-url.injectable"; -import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab.injectable"; +import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab/navigate-to-preference-tab.injectable"; +import preferenceTabIsActiveInjectable from "./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 route = di.inject(telemetryPreferencesRouteInjectable); - - const routeIsActive = di.inject(routeIsActiveInjectable, route); + 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(route), - isActive: routeIsActive, + navigate: () => navigateToPreferenceTab("telemetry"), + isActive: preferenceTabIsActive, isVisible: computed( () => !!sentryDataSourceName || telemetryPreferenceItems.get().length > 0,