Browse Source
			
			
			Feature/add page titles (#1114)
			
				* Add page titles
* Update changelog
			
			
				pull/1115/head
			
			
		 
		
			
				
					
						 Thomas Kaul
					
					3 years ago
						Thomas Kaul
					
					3 years ago
					
						
							committed by
							
								 GitHub
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 33 changed files with 
185 additions and 
44 deletions
			 
			
		 
		
			
				- 
					
					
					 
					CHANGELOG.md
				
- 
					
					
					 
					apps/client/src/app/app-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/about/about-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/account/account-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/accounts/accounts-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/admin/admin-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/auth/auth-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page-routing.module.ts
				
- 
					
					
					 
					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-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/blog/blog-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/faq/faq-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/features/features-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/home/home-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/markets/markets-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/allocations/allocations-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/analysis/analysis-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/fire/fire-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/report/report-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/portfolio/transactions/transactions-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/pricing/pricing-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/public/public-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/register/register-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/resources/resources-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/pages/zen/zen-page-routing.module.ts
				
- 
					
					
					 
					apps/client/src/app/services/page-title.strategy.ts
				
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | ## Unreleased | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | ### Added | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | - Added page titles | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | ### Changed | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | - Improved the performance of data provider requests by introducing a maximum number of symbols per request (chunk size) | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -1,5 +1,6 @@ | 
			
		
	
		
			
				
					|  |  |  | import { NgModule } from '@angular/core'; | 
			
		
	
		
			
				
					|  |  |  | import { RouterModule, Routes } from '@angular/router'; | 
			
		
	
		
			
				
					|  |  |  | import { RouterModule, Routes, TitleStrategy } from '@angular/router'; | 
			
		
	
		
			
				
					|  |  |  | import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strategy'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import { ModulePreloadService } from './core/module-preload.service'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -234,7 +235,10 @@ const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     ) | 
			
		
	
		
			
				
					|  |  |  |   ], | 
			
		
	
		
			
				
					|  |  |  |   providers: [ModulePreloadService], | 
			
		
	
		
			
				
					|  |  |  |   providers: [ | 
			
		
	
		
			
				
					|  |  |  |     ModulePreloadService, | 
			
		
	
		
			
				
					|  |  |  |     { provide: TitleStrategy, useClass: PageTitleStrategy } | 
			
		
	
		
			
				
					|  |  |  |   ], | 
			
		
	
		
			
				
					|  |  |  |   exports: [RouterModule] | 
			
		
	
		
			
				
					|  |  |  | }) | 
			
		
	
		
			
				
					|  |  |  | export class AppRoutingModule {} | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { AboutPageComponent } from './about-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AboutPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: AboutPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'About' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { ChangelogPageComponent } from './changelog-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: ChangelogPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: ChangelogPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Changelog & License' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { PrivacyPolicyPageComponent } from './privacy-policy-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: PrivacyPolicyPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: PrivacyPolicyPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Privacy Policy' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { AccountPageComponent } from './account-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AccountPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: AccountPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'My Ghostfolio' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { AccountsPageComponent } from './accounts-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AccountsPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: AccountsPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Accounts' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -10,8 +10,6 @@ import { AdminPageComponent } from './admin-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     component: AdminPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     children: [ | 
			
		
	
		
			
				
					|  |  |  |       { path: '', redirectTo: 'overview', pathMatch: 'full' }, | 
			
		
	
	
		
			
				
					|  |  | @ -19,7 +17,10 @@ const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |       { path: 'market-data', component: AdminMarketDataComponent }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'overview', component: AdminOverviewComponent }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'users', component: AdminUsersComponent } | 
			
		
	
		
			
				
					|  |  |  |     ] | 
			
		
	
		
			
				
					|  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |     component: AdminPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Admin Control' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -4,8 +4,8 @@ import { RouterModule, Routes } from '@angular/router'; | 
			
		
	
		
			
				
					|  |  |  | import { AuthPageComponent } from './auth-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AuthPageComponent }, | 
			
		
	
		
			
				
					|  |  |  |   { path: ':jwt', component: AuthPageComponent } | 
			
		
	
		
			
				
					|  |  |  |   { component: AuthPageComponent, path: '' }, | 
			
		
	
		
			
				
					|  |  |  |   { component: AuthPageComponent, path: ':jwt' } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -6,9 +6,10 @@ import { HalloGhostfolioPageComponent } from './hallo-ghostfolio-page.component' | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: HalloGhostfolioPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard] | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Hallo Ghostfolio' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -6,9 +6,10 @@ import { HelloGhostfolioPageComponent } from './hello-ghostfolio-page.component' | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: HelloGhostfolioPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard] | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Hello Ghostfolio' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -6,9 +6,10 @@ import { FirstMonthsInOpenSourcePageComponent } from './first-months-in-open-sou | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: FirstMonthsInOpenSourcePageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard] | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'First months in Open Source' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -6,9 +6,10 @@ import { GhostfolioMeetsInternetIdentityPageComponent } from './ghostfolio-meets | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: GhostfolioMeetsInternetIdentityPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard] | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Ghostfolio meets Internet Identity' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -6,9 +6,10 @@ import { HowDoIGetMyFinancesInOrderPageComponent } from './how-do-i-get-my-finan | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: HowDoIGetMyFinancesInOrderPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard] | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'How do I get my finances in order?' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { BlogPageComponent } from './blog-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: BlogPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: BlogPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Blog' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { FaqPageComponent } from './faq-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: FaqPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: FaqPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'FAQ' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { FeaturesPageComponent } from './features-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: FeaturesPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: FeaturesPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Features' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -10,8 +10,6 @@ import { HomePageComponent } from './home-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     component: HomePageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     children: [ | 
			
		
	
		
			
				
					|  |  |  |       { path: '', redirectTo: 'overview', pathMatch: 'full' }, | 
			
		
	
	
		
			
				
					|  |  | @ -19,7 +17,10 @@ const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |       { path: 'holdings', component: HomeHoldingsComponent }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'summary', component: HomeSummaryComponent }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'market', component: HomeMarketComponent } | 
			
		
	
		
			
				
					|  |  |  |     ] | 
			
		
	
		
			
				
					|  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |     component: HomePageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Overview' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { MarketsPageComponent } from './markets-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: MarketsPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: MarketsPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Markets' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { AllocationsPageComponent } from './allocations-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AllocationsPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: AllocationsPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Allocations' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { AnalysisPageComponent } from './analysis-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: AnalysisPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: AnalysisPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Analysis' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { FirePageComponent } from './fire-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: FirePageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: FirePageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'FIRE' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { HoldingsPageComponent } from './holdings-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: HoldingsPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: HoldingsPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Holdings' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { PortfolioPageComponent } from './portfolio-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: PortfolioPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: PortfolioPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Portfolio' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { ReportPageComponent } from './report-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: ReportPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: ReportPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'X-ray' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { TransactionsPageComponent } from './transactions-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: TransactionsPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: TransactionsPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Activities' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { PricingPageComponent } from './pricing-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: PricingPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: PricingPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Pricing' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { PublicPageComponent } from './public-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: ':id', component: PublicPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: PublicPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: ':id', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Portfolio' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { RegisterPageComponent } from './register-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: RegisterPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: RegisterPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Registration' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -5,7 +5,12 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; | 
			
		
	
		
			
				
					|  |  |  | import { ResourcesPageComponent } from './resources-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { path: '', component: ResourcesPageComponent, canActivate: [AuthGuard] } | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     component: ResourcesPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Resources' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -2,7 +2,9 @@ import { NgModule } from '@angular/core'; | 
			
		
	
		
			
				
					|  |  |  | import { RouterModule, Routes } from '@angular/router'; | 
			
		
	
		
			
				
					|  |  |  | import { WebauthnPageComponent } from '@ghostfolio/client/pages/webauthn/webauthn-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [{ path: '', component: WebauthnPageComponent }]; | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { component: WebauthnPageComponent, path: '', title: 'Login' } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @NgModule({ | 
			
		
	
		
			
				
					|  |  |  |   imports: [RouterModule.forChild(routes)], | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -8,14 +8,15 @@ import { ZenPageComponent } from './zen-page.component'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const routes: Routes = [ | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     component: ZenPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     canActivate: [AuthGuard], | 
			
		
	
		
			
				
					|  |  |  |     children: [ | 
			
		
	
		
			
				
					|  |  |  |       { path: '', redirectTo: 'overview', pathMatch: 'full' }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'overview', component: HomeOverviewComponent }, | 
			
		
	
		
			
				
					|  |  |  |       { path: 'holdings', component: HomeHoldingsComponent } | 
			
		
	
		
			
				
					|  |  |  |     ] | 
			
		
	
		
			
				
					|  |  |  |     ], | 
			
		
	
		
			
				
					|  |  |  |     component: ZenPageComponent, | 
			
		
	
		
			
				
					|  |  |  |     path: '', | 
			
		
	
		
			
				
					|  |  |  |     title: 'Overview' | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -0,0 +1,23 @@ | 
			
		
	
		
			
				
					|  |  |  | import { Injectable } from '@angular/core'; | 
			
		
	
		
			
				
					|  |  |  | import { Title } from '@angular/platform-browser'; | 
			
		
	
		
			
				
					|  |  |  | import { RouterStateSnapshot, TitleStrategy } from '@angular/router'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @Injectable() | 
			
		
	
		
			
				
					|  |  |  | export class PageTitleStrategy extends TitleStrategy { | 
			
		
	
		
			
				
					|  |  |  |   private static readonly DEFAULT_TITLE = | 
			
		
	
		
			
				
					|  |  |  |     'Ghostfolio – Open Source Wealth Management Software'; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public constructor(private readonly title: Title) { | 
			
		
	
		
			
				
					|  |  |  |     super(); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public override updateTitle(routerState: RouterStateSnapshot) { | 
			
		
	
		
			
				
					|  |  |  |     const title = this.buildTitle(routerState); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     if (title) { | 
			
		
	
		
			
				
					|  |  |  |       this.title.setTitle(`${title} – ${PageTitleStrategy.DEFAULT_TITLE}`); | 
			
		
	
		
			
				
					|  |  |  |     } else { | 
			
		
	
		
			
				
					|  |  |  |       this.title.setTitle(`${PageTitleStrategy.DEFAULT_TITLE}`); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | } |