Browse Source

Refactor public routes: faq

pull/4933/head
Thomas Kaul 3 weeks ago
parent
commit
13673705d0
  1. 2
      apps/client/src/app/app-routing.module.ts
  2. 4
      apps/client/src/app/app.component.ts
  3. 2
      apps/client/src/app/core/auth.guard.ts
  4. 4
      apps/client/src/app/pages/about/overview/about-overview-page.component.ts
  5. 8
      apps/client/src/app/pages/faq/faq-page-routing.module.ts
  6. 8
      apps/client/src/app/pages/faq/faq-page.component.ts
  7. 3
      apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts
  8. 3
      apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts
  9. 2
      apps/client/src/app/pages/resources/overview/resources-overview.component.html
  10. 18
      apps/client/src/app/pages/resources/overview/resources-overview.component.ts

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

@ -64,7 +64,7 @@ const routes: Routes = [
path: ghostfolioRoutes.demo path: ghostfolioRoutes.demo
}, },
{ {
path: ghostfolioRoutes.faq, path: publicRoutes.faq.path,
loadChildren: () => loadChildren: () =>
import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule) import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule)
}, },

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

@ -79,7 +79,7 @@ export class AppComponent implements OnDestroy, OnInit {
routes.termsOfService routes.termsOfService
]; ];
public routerLinkBlog = publicRoutes.blog.routerLink; public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkFaq = ['/' + routes.faq]; public routerLinkFaq = publicRoutes.faq.routerLink;
public routerLinkFeatures = publicRoutes.features.routerLink; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkMarkets = ['/' + routes.markets]; public routerLinkMarkets = ['/' + routes.markets];
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink; public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
@ -201,7 +201,7 @@ export class AppComponent implements OnDestroy, OnInit {
this.hasTabs = this.hasTabs =
(this.currentRoute === routes.about || (this.currentRoute === routes.about ||
this.currentRoute === routes.faq || this.currentRoute === publicRoutes.faq.path ||
this.currentRoute === routes.resources || this.currentRoute === routes.resources ||
this.currentRoute === internalRoutes.account.path || this.currentRoute === internalRoutes.account.path ||
this.currentRoute === routes.adminControl || this.currentRoute === routes.adminControl ||

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

@ -22,7 +22,7 @@ export class AuthGuard {
`/${routes.about}`, `/${routes.about}`,
`/${publicRoutes.blog.path}`, `/${publicRoutes.blog.path}`,
`/${routes.demo}`, `/${routes.demo}`,
`/${routes.faq}`, `/${publicRoutes.faq.path}`,
`/${publicRoutes.features.path}`, `/${publicRoutes.features.path}`,
`/${routes.markets}`, `/${routes.markets}`,
`/${publicRoutes.openStartup.path}`, `/${publicRoutes.openStartup.path}`,

4
apps/client/src/app/pages/about/overview/about-overview-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 { UserService } from '@ghostfolio/client/services/user/user.service';
import { User } from '@ghostfolio/common/interfaces'; import { User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
@ -19,7 +19,7 @@ export class AboutOverviewPageComponent implements OnDestroy, OnInit {
public hasPermissionForSubscription: boolean; public hasPermissionForSubscription: boolean;
public isLoggedIn: boolean; public isLoggedIn: boolean;
public routerLinkBlog = publicRoutes.blog.routerLink; public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkFaq = ['/' + routes.faq]; public routerLinkFaq = publicRoutes.faq.routerLink;
public routerLinkFeatures = publicRoutes.features.routerLink; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink; public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public user: User; public user: User;

8
apps/client/src/app/pages/faq/faq-page-routing.module.ts

@ -1,5 +1,5 @@
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes/routes'; import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
@ -18,12 +18,12 @@ const routes: Routes = [
) )
}, },
{ {
path: ghostfolioRoutes.saas, path: publicRoutes.faq.subRoutes.saas.path,
loadChildren: () => loadChildren: () =>
import('./saas/saas-page.module').then((m) => m.SaasPageModule) import('./saas/saas-page.module').then((m) => m.SaasPageModule)
}, },
{ {
path: ghostfolioRoutes.selfHosting, path: publicRoutes.faq.subRoutes.selfHosting.path,
loadChildren: () => loadChildren: () =>
import('./self-hosting/self-hosting-page.module').then( import('./self-hosting/self-hosting-page.module').then(
(m) => m.SelfHostingPageModule (m) => m.SelfHostingPageModule
@ -32,7 +32,7 @@ const routes: Routes = [
], ],
component: FaqPageComponent, component: FaqPageComponent,
path: '', path: '',
title: $localize`Frequently Asked Questions (FAQ)` title: publicRoutes.faq.title
} }
]; ];

8
apps/client/src/app/pages/faq/faq-page.component.ts

@ -1,7 +1,7 @@
import { DataService } from '@ghostfolio/client/services/data.service'; import { DataService } from '@ghostfolio/client/services/data.service';
import { TabConfiguration } from '@ghostfolio/common/interfaces'; import { TabConfiguration } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { Component, OnDestroy, OnInit } from '@angular/core'; import { Component, OnDestroy, OnInit } from '@angular/core';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
@ -36,18 +36,18 @@ export class FaqPageComponent implements OnDestroy, OnInit {
{ {
iconName: 'reader-outline', iconName: 'reader-outline',
label: $localize`General`, label: $localize`General`,
routerLink: ['/' + routes.faq] routerLink: publicRoutes.faq.routerLink
}, },
{ {
iconName: 'cloudy-outline', iconName: 'cloudy-outline',
label: $localize`Cloud` + ' (SaaS)', label: $localize`Cloud` + ' (SaaS)',
routerLink: ['/' + routes.faq, routes.saas], routerLink: publicRoutes.faq.subRoutes.saas.routerLink,
showCondition: this.hasPermissionForSubscription showCondition: this.hasPermissionForSubscription
}, },
{ {
iconName: 'server-outline', iconName: 'server-outline',
label: $localize`Self-Hosting`, label: $localize`Self-Hosting`,
routerLink: ['/' + routes.faq, routes.selfHosting] routerLink: publicRoutes.faq.subRoutes.selfHosting.routerLink
} }
]; ];
} }

3
apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts

@ -1,4 +1,5 @@
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
@ -10,7 +11,7 @@ const routes: Routes = [
canActivate: [AuthGuard], canActivate: [AuthGuard],
component: SaasPageComponent, component: SaasPageComponent,
path: '', path: '',
title: $localize`Cloud` + ' (SaaS) – ' + $localize`FAQ` title: `${publicRoutes.faq.subRoutes.saas.title} - ${publicRoutes.faq.title}`
} }
]; ];

3
apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts

@ -1,4 +1,5 @@
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
@ -10,7 +11,7 @@ const routes: Routes = [
canActivate: [AuthGuard], canActivate: [AuthGuard],
component: SelfHostingPageComponent, component: SelfHostingPageComponent,
path: '', path: '',
title: $localize`Self-Hosting` + ' – ' + $localize`FAQ` title: `${publicRoutes.faq.subRoutes.selfHosting.title} - ${publicRoutes.faq.title}`
} }
]; ];

2
apps/client/src/app/pages/resources/overview/resources-overview.component.html

@ -7,7 +7,7 @@
<div class="mb-4"> <div class="mb-4">
<h3 class="h5 mt-0">{{ item.title }}</h3> <h3 class="h5 mt-0">{{ item.title }}</h3>
<p class="mb-1">{{ item.description }}</p> <p class="mb-1">{{ item.description }}</p>
<a [routerLink]="item.link">Explore {{ item.title }} →</a> <a [routerLink]="item.routerLink">Explore {{ item.title }} →</a>
</div> </div>
} }
</div> </div>

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

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
@ -11,28 +11,28 @@ import { Component } from '@angular/core';
export class ResourcesOverviewComponent { export class ResourcesOverviewComponent {
public overviewItems = [ public overviewItems = [
{ {
title: 'Frequently Asked Questions (FAQ)',
description: description:
'Find quick answers to commonly asked questions about Ghostfolio in our Frequently Asked Questions (FAQ) section.', 'Find quick answers to commonly asked questions about Ghostfolio in our Frequently Asked Questions (FAQ) section.',
link: ['/' + routes.faq] routerLink: publicRoutes.faq.routerLink,
title: publicRoutes.faq.title
}, },
{ {
title: 'Guides',
description: description:
'Explore our guides to help you get started with investing and managing your finances.', 'Explore our guides to help you get started with investing and managing your finances.',
link: ['/' + routes.resources, routes.guides] routerLink: ['/' + routes.resources, routes.guides],
title: 'Guides'
}, },
{ {
title: 'Markets',
description: description:
'Access various market resources and tools to stay informed about financial markets.', 'Access various market resources and tools to stay informed about financial markets.',
link: ['/' + routes.resources, routes.markets] routerLink: ['/' + routes.resources, routes.markets],
title: 'Markets'
}, },
{ {
title: 'Glossary',
description: description:
'Learn key financial terms and concepts in our comprehensive glossary.', 'Learn key financial terms and concepts in our comprehensive glossary.',
link: ['/' + routes.resources, routes.glossary] routerLink: ['/' + routes.resources, routes.glossary],
title: 'Glossary'
} }
]; ];
} }

Loading…
Cancel
Save