Browse Source

Move home and zen to internalRoutes

pull/4863/head
Thomas Kaul 3 months ago
parent
commit
559c533a6f
  1. 4
      apps/client/src/app/app-routing.module.ts
  2. 18
      apps/client/src/app/core/auth.guard.ts
  3. 8
      apps/client/src/app/pages/home/home-page-routing.module.ts
  4. 12
      apps/client/src/app/pages/home/home-page.component.ts
  5. 7
      apps/client/src/app/pages/zen/zen-page-routing.module.ts
  6. 6
      apps/client/src/app/pages/zen/zen-page.component.ts
  7. 12
      libs/common/src/lib/routes.ts

4
apps/client/src/app/app-routing.module.ts

@ -78,7 +78,7 @@ const routes: Routes = [
title: $localize`Features` title: $localize`Features`
}, },
{ {
path: ghostfolioRoutes.home, path: internalRoutes.home.path,
loadChildren: () => loadChildren: () =>
import('./pages/home/home-page.module').then((m) => m.HomePageModule) import('./pages/home/home-page.module').then((m) => m.HomePageModule)
}, },
@ -154,7 +154,7 @@ const routes: Routes = [
title: $localize`Sign in` title: $localize`Sign in`
}, },
{ {
path: ghostfolioRoutes.zen, path: internalRoutes.zen.path,
loadChildren: () => loadChildren: () =>
import('./pages/zen/zen-page.module').then((m) => m.ZenPageModule) import('./pages/zen/zen-page.module').then((m) => m.ZenPageModule)
}, },

18
apps/client/src/app/core/auth.guard.ts

@ -1,7 +1,11 @@
import { DataService } from '@ghostfolio/client/services/data.service'; import { DataService } from '@ghostfolio/client/services/data.service';
import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service'; import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.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 { Injectable } from '@angular/core';
import { import {
@ -88,26 +92,26 @@ export class AuthGuard {
resolve(true); resolve(true);
return; return;
} else if ( } else if (
state.url.startsWith(`/${routes.home}`) && state.url.startsWith(`/${internalRoutes.home.path}`) &&
user.settings.viewMode === 'ZEN' user.settings.viewMode === 'ZEN'
) { ) {
this.router.navigate(['/' + routes.zen]); this.router.navigate(['/' + internalRoutes.zen.path]);
resolve(false); resolve(false);
return; return;
} else if (state.url.startsWith(`/${routes.start}`)) { } else if (state.url.startsWith(`/${routes.start}`)) {
if (user.settings.viewMode === 'ZEN') { if (user.settings.viewMode === 'ZEN') {
this.router.navigate(['/' + routes.zen]); this.router.navigate(['/' + internalRoutes.zen.path]);
} else { } else {
this.router.navigate(['/' + routes.home]); this.router.navigate(['/' + internalRoutes.home.path]);
} }
resolve(false); resolve(false);
return; return;
} else if ( } else if (
state.url.startsWith(`/${routes.zen}`) && state.url.startsWith(`/${internalRoutes.zen.path}`) &&
user.settings.viewMode === 'DEFAULT' user.settings.viewMode === 'DEFAULT'
) { ) {
this.router.navigate(['/' + routes.home]); this.router.navigate(['/' + internalRoutes.home.path]);
resolve(false); resolve(false);
return; return;
} }

8
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 { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component';
import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component'; import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component';
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; 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 { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
@ -41,7 +44,8 @@ const routes: Routes = [
} }
], ],
component: HomePageComponent, component: HomePageComponent,
path: '' path: '',
title: internalRoutes.home.title
} }
]; ];

12
apps/client/src/app/pages/home/home-page.component.ts

@ -1,7 +1,7 @@
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; 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 { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
@ -37,27 +37,27 @@ export class HomePageComponent implements OnDestroy, OnInit {
{ {
iconName: 'analytics-outline', iconName: 'analytics-outline',
label: $localize`Overview`, label: $localize`Overview`,
path: ['/' + routes.home] path: ['/' + internalRoutes.home.path]
}, },
{ {
iconName: 'wallet-outline', iconName: 'wallet-outline',
label: $localize`Holdings`, label: $localize`Holdings`,
path: ['/' + routes.home, routes.holdings] path: ['/' + internalRoutes.home.path, routes.holdings]
}, },
{ {
iconName: 'reader-outline', iconName: 'reader-outline',
label: $localize`Summary`, label: $localize`Summary`,
path: ['/' + routes.home, routes.summary] path: ['/' + internalRoutes.home.path, routes.summary]
}, },
{ {
iconName: 'bookmark-outline', iconName: 'bookmark-outline',
label: $localize`Watchlist`, label: $localize`Watchlist`,
path: ['/' + routes.home, routes.watchlist] path: ['/' + internalRoutes.home.path, routes.watchlist]
}, },
{ {
iconName: 'newspaper-outline', iconName: 'newspaper-outline',
label: $localize`Markets`, label: $localize`Markets`,
path: ['/' + routes.home, routes.market] path: ['/' + internalRoutes.home.path, routes.market]
} }
]; ];

7
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 { HomeHoldingsComponent } from '@ghostfolio/client/components/home-holdings/home-holdings.component';
import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component'; import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component';
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; 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 { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
@ -17,7 +20,7 @@ const routes: Routes = [
], ],
component: ZenPageComponent, component: ZenPageComponent,
path: '', path: '',
title: $localize`Overview` title: internalRoutes.zen.title
} }
]; ];

6
apps/client/src/app/pages/zen/zen-page.component.ts

@ -1,6 +1,6 @@
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; 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 { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
@ -34,12 +34,12 @@ export class ZenPageComponent implements OnDestroy, OnInit {
{ {
iconName: 'analytics-outline', iconName: 'analytics-outline',
label: $localize`Overview`, label: $localize`Overview`,
path: ['/' + routes.zen] path: ['/' + internalRoutes.zen.path]
}, },
{ {
iconName: 'wallet-outline', iconName: 'wallet-outline',
label: $localize`Holdings`, label: $localize`Holdings`,
path: ['/' + routes.zen, routes.holdings] path: ['/' + internalRoutes.zen.path, routes.holdings]
} }
]; ];
this.user = state.user; this.user = state.user;

12
libs/common/src/lib/routes.ts

@ -11,7 +11,6 @@ export const routes = {
demo: 'demo', demo: 'demo',
fire: 'fire', fire: 'fire',
holdings: 'holdings', holdings: 'holdings',
home: 'home',
i18n: 'i18n', i18n: 'i18n',
jobs: 'jobs', jobs: 'jobs',
market: 'market', market: 'market',
@ -28,7 +27,6 @@ export const routes = {
watchlist: 'watchlist', watchlist: 'watchlist',
webauthn: 'webauthn', webauthn: 'webauthn',
xRay: 'x-ray', xRay: 'x-ray',
zen: 'zen',
// Publicly accessible pages // Publicly accessible pages
about: $localize`:kebab-case:about`, about: $localize`:kebab-case:about`,
@ -55,6 +53,16 @@ export const internalRoutes = {
path: 'accounts', path: 'accounts',
subRoutes: {}, subRoutes: {},
title: $localize`Accounts` title: $localize`Accounts`
},
home: {
path: 'home',
subRoutes: {},
title: $localize`Overview`
},
zen: {
path: 'zen',
subRoutes: {},
title: $localize`Overview`
} }
}; };

Loading…
Cancel
Save