diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index 357a7d10b..a9d1f9ed8 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -78,7 +78,7 @@ const routes: Routes = [ title: $localize`Features` }, { - path: ghostfolioRoutes.home, + path: internalRoutes.home.path, loadChildren: () => import('./pages/home/home-page.module').then((m) => m.HomePageModule) }, @@ -154,7 +154,7 @@ const routes: Routes = [ title: $localize`Sign in` }, { - path: ghostfolioRoutes.zen, + path: internalRoutes.zen.path, loadChildren: () => import('./pages/zen/zen-page.module').then((m) => m.ZenPageModule) }, diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts index 58a77b71f..94118b28d 100644 --- a/apps/client/src/app/core/auth.guard.ts +++ b/apps/client/src/app/core/auth.guard.ts @@ -1,7 +1,11 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { publicRoutes, routes } from '@ghostfolio/common/routes'; +import { + internalRoutes, + publicRoutes, + routes +} from '@ghostfolio/common/routes'; import { Injectable } from '@angular/core'; import { @@ -88,26 +92,26 @@ export class AuthGuard { resolve(true); return; } else if ( - state.url.startsWith(`/${routes.home}`) && + state.url.startsWith(`/${internalRoutes.home.path}`) && user.settings.viewMode === 'ZEN' ) { - this.router.navigate(['/' + routes.zen]); + this.router.navigate(['/' + internalRoutes.zen.path]); resolve(false); return; } else if (state.url.startsWith(`/${routes.start}`)) { if (user.settings.viewMode === 'ZEN') { - this.router.navigate(['/' + routes.zen]); + this.router.navigate(['/' + internalRoutes.zen.path]); } else { - this.router.navigate(['/' + routes.home]); + this.router.navigate(['/' + internalRoutes.home.path]); } resolve(false); return; } else if ( - state.url.startsWith(`/${routes.zen}`) && + state.url.startsWith(`/${internalRoutes.zen.path}`) && user.settings.viewMode === 'DEFAULT' ) { - this.router.navigate(['/' + routes.home]); + this.router.navigate(['/' + internalRoutes.home.path]); resolve(false); return; } diff --git a/apps/client/src/app/pages/home/home-page-routing.module.ts b/apps/client/src/app/pages/home/home-page-routing.module.ts index 8bb17921d..a1f0b97a7 100644 --- a/apps/client/src/app/pages/home/home-page-routing.module.ts +++ b/apps/client/src/app/pages/home/home-page-routing.module.ts @@ -4,7 +4,10 @@ import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overvi import { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component'; import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes'; +import { + routes as ghostfolioRoutes, + internalRoutes +} from '@ghostfolio/common/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -41,7 +44,8 @@ const routes: Routes = [ } ], component: HomePageComponent, - path: '' + path: '', + title: internalRoutes.home.title } ]; diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts index 3ffe55933..8d56fc620 100644 --- a/apps/client/src/app/pages/home/home-page.component.ts +++ b/apps/client/src/app/pages/home/home-page.component.ts @@ -1,7 +1,7 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; -import { routes } from '@ghostfolio/common/routes'; +import { internalRoutes, routes } from '@ghostfolio/common/routes'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -37,27 +37,27 @@ export class HomePageComponent implements OnDestroy, OnInit { { iconName: 'analytics-outline', label: $localize`Overview`, - path: ['/' + routes.home] + path: ['/' + internalRoutes.home.path] }, { iconName: 'wallet-outline', label: $localize`Holdings`, - path: ['/' + routes.home, routes.holdings] + path: ['/' + internalRoutes.home.path, routes.holdings] }, { iconName: 'reader-outline', label: $localize`Summary`, - path: ['/' + routes.home, routes.summary] + path: ['/' + internalRoutes.home.path, routes.summary] }, { iconName: 'bookmark-outline', label: $localize`Watchlist`, - path: ['/' + routes.home, routes.watchlist] + path: ['/' + internalRoutes.home.path, routes.watchlist] }, { iconName: 'newspaper-outline', label: $localize`Markets`, - path: ['/' + routes.home, routes.market] + path: ['/' + internalRoutes.home.path, routes.market] } ]; diff --git a/apps/client/src/app/pages/zen/zen-page-routing.module.ts b/apps/client/src/app/pages/zen/zen-page-routing.module.ts index b03e97b10..45e0597e9 100644 --- a/apps/client/src/app/pages/zen/zen-page-routing.module.ts +++ b/apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1,7 +1,10 @@ import { HomeHoldingsComponent } from '@ghostfolio/client/components/home-holdings/home-holdings.component'; import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes'; +import { + routes as ghostfolioRoutes, + internalRoutes +} from '@ghostfolio/common/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -17,7 +20,7 @@ const routes: Routes = [ ], component: ZenPageComponent, path: '', - title: $localize`Overview` + title: internalRoutes.zen.title } ]; diff --git a/apps/client/src/app/pages/zen/zen-page.component.ts b/apps/client/src/app/pages/zen/zen-page.component.ts index d91091393..06080013b 100644 --- a/apps/client/src/app/pages/zen/zen-page.component.ts +++ b/apps/client/src/app/pages/zen/zen-page.component.ts @@ -1,6 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; -import { routes } from '@ghostfolio/common/routes'; +import { internalRoutes, routes } from '@ghostfolio/common/routes'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -34,12 +34,12 @@ export class ZenPageComponent implements OnDestroy, OnInit { { iconName: 'analytics-outline', label: $localize`Overview`, - path: ['/' + routes.zen] + path: ['/' + internalRoutes.zen.path] }, { iconName: 'wallet-outline', label: $localize`Holdings`, - path: ['/' + routes.zen, routes.holdings] + path: ['/' + internalRoutes.zen.path, routes.holdings] } ]; this.user = state.user; diff --git a/libs/common/src/lib/routes.ts b/libs/common/src/lib/routes.ts index 75b4c33a7..9c182824a 100644 --- a/libs/common/src/lib/routes.ts +++ b/libs/common/src/lib/routes.ts @@ -11,7 +11,6 @@ export const routes = { demo: 'demo', fire: 'fire', holdings: 'holdings', - home: 'home', i18n: 'i18n', jobs: 'jobs', market: 'market', @@ -28,7 +27,6 @@ export const routes = { watchlist: 'watchlist', webauthn: 'webauthn', xRay: 'x-ray', - zen: 'zen', // Publicly accessible pages about: $localize`:kebab-case:about`, @@ -55,6 +53,16 @@ export const internalRoutes = { path: 'accounts', subRoutes: {}, title: $localize`Accounts` + }, + home: { + path: 'home', + subRoutes: {}, + title: $localize`Overview` + }, + zen: { + path: 'zen', + subRoutes: {}, + title: $localize`Overview` } };