Browse Source

Refactor public routes: resources

pull/4937/head
Thomas Kaul 2 weeks ago
parent
commit
203e28809f
  1. 4
      apps/client/src/app/app-routing.module.ts
  2. 6
      apps/client/src/app/app.component.ts
  3. 6
      apps/client/src/app/components/header/header.component.ts
  4. 4
      apps/client/src/app/core/auth.guard.ts
  5. 4
      apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts
  6. 4
      apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts
  7. 4
      apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts
  8. 4
      apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts
  9. 2
      apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts
  10. 4
      apps/client/src/app/pages/features/features-page.component.ts
  11. 4
      apps/client/src/app/pages/resources/glossary/resources-glossary-routing.module.ts
  12. 4
      apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts
  13. 4
      apps/client/src/app/pages/resources/guides/resources-guides-routing.module.ts
  14. 4
      apps/client/src/app/pages/resources/markets/resources-markets-routing.module.ts
  15. 14
      apps/client/src/app/pages/resources/overview/resources-overview.component.ts
  16. 2
      apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts
  17. 2
      apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
  18. 13
      apps/client/src/app/pages/resources/resources-page-routing.module.ts
  19. 10
      apps/client/src/app/pages/resources/resources-page.component.ts

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

@ -13,7 +13,7 @@ import { ModulePreloadService } from './core/module-preload.service';
const routes: Routes = [
{
path: ghostfolioRoutes.about,
path: publicRoutes.about.path,
loadChildren: () =>
import('./pages/about/about-page.module').then((m) => m.AboutPageModule)
},
@ -132,7 +132,7 @@ const routes: Routes = [
)
},
{
path: ghostfolioRoutes.resources,
path: publicRoutes.resources.path,
loadChildren: () =>
import('./pages/resources/resources-page.module').then(
(m) => m.ResourcesPageModule

6
apps/client/src/app/app.component.ts

@ -83,7 +83,7 @@ export class AppComponent implements OnDestroy, OnInit {
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public routerLinkPricing = publicRoutes.pricing.routerLink;
public routerLinkRegister = publicRoutes.register.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
public showFooter = false;
public user: User;
@ -198,9 +198,9 @@ export class AppComponent implements OnDestroy, OnInit {
}
this.hasTabs =
(this.currentRoute === routes.about ||
(this.currentRoute === publicRoutes.about.path ||
this.currentRoute === publicRoutes.faq.path ||
this.currentRoute === routes.resources ||
this.currentRoute === publicRoutes.resources.path ||
this.currentRoute === internalRoutes.account.path ||
this.currentRoute === routes.adminControl ||
this.currentRoute === internalRoutes.home.path ||

6
apps/client/src/app/components/header/header.component.ts

@ -85,11 +85,11 @@ export class HeaderComponent implements OnChanges {
public impersonationId: string;
public internalRoutes = internalRoutes;
public isMenuOpen: boolean;
public routeAbout = routes.about;
public routeAbout = publicRoutes.about.path;
public routeFeatures = publicRoutes.features.path;
public routeMarkets = publicRoutes.markets.path;
public routePricing = publicRoutes.pricing.path;
public routeResources = routes.resources;
public routeResources = publicRoutes.resources.path;
public routerLinkAbout = publicRoutes.about.routerLink;
public routerLinkAccount = internalRoutes.account.routerLink;
public routerLinkAccounts = internalRoutes.accounts.routerLink;
@ -99,7 +99,7 @@ export class HeaderComponent implements OnChanges {
public routerLinkPortfolio = internalRoutes.portfolio.routerLink;
public routerLinkPricing = publicRoutes.pricing.routerLink;
public routerLinkRegister = publicRoutes.register.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
public routes = routes;
private unsubscribeSubject = new Subject<void>();

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

@ -19,7 +19,7 @@ import { catchError } from 'rxjs/operators';
@Injectable({ providedIn: 'root' })
export class AuthGuard {
private static PUBLIC_PAGE_ROUTES = [
`/${routes.about}`,
`/${publicRoutes.about.path}`,
`/${publicRoutes.blog.path}`,
`/${routes.demo}`,
`/${publicRoutes.faq.path}`,
@ -29,7 +29,7 @@ export class AuthGuard {
`/${publicRoutes.pricing.path}`,
`/${routes.public}`,
`/${publicRoutes.register.path}`,
`/${routes.resources}`
`/${publicRoutes.resources.path}`
];
public constructor(

4
apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
@ -13,5 +13,5 @@ import { RouterModule } from '@angular/router';
export class HalloGhostfolioPageComponent {
public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkPricing = publicRoutes.pricing.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
}

4
apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
@ -13,5 +13,5 @@ import { RouterModule } from '@angular/router';
export class HelloGhostfolioPageComponent {
public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkPricing = publicRoutes.pricing.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
}

4
apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
@ -12,5 +12,5 @@ import { RouterModule } from '@angular/router';
})
export class HowDoIGetMyFinancesInOrderPageComponent {
public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
}

4
apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
@ -13,5 +13,5 @@ import { RouterModule } from '@angular/router';
export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {
public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
}

2
apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';

4
apps/client/src/app/pages/features/features-page.component.ts

@ -2,7 +2,7 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { InfoItem, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core';
@ -27,7 +27,7 @@ export class GfFeaturesPageComponent implements OnDestroy {
public hasPermissionForSubscription: boolean;
public info: InfoItem;
public routerLinkRegister = publicRoutes.register.routerLink;
public routerLinkResources = ['/' + routes.resources];
public routerLinkResources = publicRoutes.resources.routerLink;
public user: User;
private unsubscribeSubject = new Subject<void>();

4
apps/client/src/app/pages/resources/glossary/resources-glossary-routing.module.ts

@ -1,3 +1,5 @@
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
@ -7,7 +9,7 @@ const routes: Routes = [
{
component: ResourcesGlossaryPageComponent,
path: '',
title: $localize`Glossary`
title: publicRoutes.resources.subRoutes.glossary.title
}
];

4
apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts

@ -1,7 +1,7 @@
import { DataService } from '@ghostfolio/client/services/data.service';
import { InfoItem } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component, OnInit } from '@angular/core';
@ -15,7 +15,7 @@ export class ResourcesGlossaryPageComponent implements OnInit {
public hasPermissionForSubscription: boolean;
public info: InfoItem;
public routerLinkResourcesPersonalFinanceTools = [
'/' + routes.resources,
'/' + publicRoutes.resources.path,
routes.personalFinanceTools
];

4
apps/client/src/app/pages/resources/guides/resources-guides-routing.module.ts

@ -1,3 +1,5 @@
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
@ -7,7 +9,7 @@ const routes: Routes = [
{
component: ResourcesGuidesComponent,
path: '',
title: $localize`Guides`
title: publicRoutes.resources.subRoutes.guides.title
}
];

4
apps/client/src/app/pages/resources/markets/resources-markets-routing.module.ts

@ -1,3 +1,5 @@
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
@ -7,7 +9,7 @@ const routes: Routes = [
{
component: ResourcesMarketsComponent,
path: '',
title: $localize`Markets`
title: publicRoutes.resources.subRoutes.markets.title
}
];

14
apps/client/src/app/pages/resources/overview/resources-overview.component.ts

@ -1,4 +1,4 @@
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core';
@ -19,20 +19,20 @@ export class ResourcesOverviewComponent {
{
description:
'Explore our guides to help you get started with investing and managing your finances.',
routerLink: ['/' + routes.resources, routes.guides],
title: 'Guides'
routerLink: publicRoutes.resources.subRoutes.guides.routerLink,
title: publicRoutes.resources.subRoutes.guides.title
},
{
description:
'Access various market resources and tools to stay informed about financial markets.',
routerLink: ['/' + routes.resources, routes.markets],
title: 'Markets'
routerLink: publicRoutes.resources.subRoutes.markets.routerLink,
title: publicRoutes.resources.subRoutes.markets.title
},
{
description:
'Learn key financial terms and concepts in our comprehensive glossary.',
routerLink: ['/' + routes.resources, routes.glossary],
title: 'Glossary'
routerLink: publicRoutes.resources.subRoutes.glossary.routerLink,
title: publicRoutes.resources.subRoutes.glossary.title
}
];
}

2
apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts

@ -13,7 +13,7 @@ import { Subject } from 'rxjs';
})
export class PersonalFinanceToolsPageComponent implements OnDestroy {
public pathAlternativeTo = routes.openSourceAlternativeTo + '-';
public pathResources = '/' + routes.resources;
public pathResources = publicRoutes.resources.path;
public personalFinanceTools = personalFinanceTools.sort((a, b) => {
return a.name.localeCompare(b.name, undefined, { sensitivity: 'base' });
});

2
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts

@ -23,7 +23,7 @@ export class GfProductPageComponent implements OnInit {
public routerLinkAbout = publicRoutes.about.routerLink;
public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkResourcesPersonalFinanceTools = [
'/' + routes.resources,
'/' + publicRoutes.resources.path,
routes.personalFinanceTools
];
public tags: string[];

13
apps/client/src/app/pages/resources/resources-page-routing.module.ts

@ -1,5 +1,8 @@
import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes/routes';
import {
routes as ghostfolioRoutes,
publicRoutes
} from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
@ -19,21 +22,21 @@ const routes: Routes = [
)
},
{
path: ghostfolioRoutes.glossary,
path: publicRoutes.resources.subRoutes.glossary.path,
loadChildren: () =>
import('./glossary/resources-glossary.module').then(
(m) => m.ResourcesGlossaryPageModule
)
},
{
path: ghostfolioRoutes.guides,
path: publicRoutes.resources.subRoutes.guides.path,
loadChildren: () =>
import('./guides/resources-guides.module').then(
(m) => m.ResourcesGuidesModule
)
},
{
path: ghostfolioRoutes.markets,
path: publicRoutes.resources.subRoutes.markets.path,
loadChildren: () =>
import('./markets/resources-markets.module').then(
(m) => m.ResourcesMarketsModule
@ -48,7 +51,7 @@ const routes: Routes = [
}))
],
path: '',
title: $localize`Resources`
title: publicRoutes.resources.title
}
];

10
apps/client/src/app/pages/resources/resources-page.component.ts

@ -1,5 +1,5 @@
import { TabConfiguration } from '@ghostfolio/common/interfaces';
import { routes } from '@ghostfolio/common/routes/routes';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component, OnInit } from '@angular/core';
import { DeviceDetectorService } from 'ngx-device-detector';
@ -18,22 +18,22 @@ export class ResourcesPageComponent implements OnInit {
{
iconName: 'reader-outline',
label: $localize`Overview`,
routerLink: ['/' + routes.resources]
routerLink: publicRoutes.resources.routerLink
},
{
label: $localize`Guides`,
iconName: 'book-outline',
routerLink: ['/' + routes.resources, routes.guides]
routerLink: publicRoutes.resources.subRoutes.guides.routerLink
},
{
iconName: 'newspaper-outline',
label: $localize`Markets`,
routerLink: ['/' + routes.resources, routes.markets]
routerLink: publicRoutes.resources.subRoutes.markets.routerLink
},
{
iconName: 'library-outline',
label: $localize`Glossary`,
routerLink: ['/' + routes.resources, routes.glossary]
routerLink: publicRoutes.resources.subRoutes.glossary.routerLink
}
];

Loading…
Cancel
Save