mirror of https://github.com/ghostfolio/ghostfolio
				
				
			
							committed by
							
								 GitHub
								GitHub
							
						
					
				
				 71 changed files with 344 additions and 3060 deletions
			
			
		| @ -1,8 +1,11 @@ | |||||
|  | import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; | ||||
|  | 
 | ||||
| import { Module } from '@nestjs/common'; | import { Module } from '@nestjs/common'; | ||||
| 
 | 
 | ||||
| import { SitemapController } from './sitemap.controller'; | import { SitemapController } from './sitemap.controller'; | ||||
| 
 | 
 | ||||
| @Module({ | @Module({ | ||||
|   controllers: [SitemapController] |   controllers: [SitemapController], | ||||
|  |   imports: [ConfigurationModule] | ||||
| }) | }) | ||||
| export class SitemapModule {} | export class SitemapModule {} | ||||
|  | |||||
								
									
										File diff suppressed because it is too large
									
								
							
						
					| @ -0,0 +1,68 @@ | |||||
|  | import { DataService } from '@ghostfolio/client/services/data.service'; | ||||
|  | import { Product } from '@ghostfolio/common/interfaces'; | ||||
|  | import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; | ||||
|  | 
 | ||||
|  | import { CommonModule } from '@angular/common'; | ||||
|  | import { Component, OnInit } from '@angular/core'; | ||||
|  | import { MatButtonModule } from '@angular/material/button'; | ||||
|  | import { ActivatedRoute, RouterModule } from '@angular/router'; | ||||
|  | 
 | ||||
|  | @Component({ | ||||
|  |   host: { class: 'page' }, | ||||
|  |   imports: [CommonModule, MatButtonModule, RouterModule], | ||||
|  |   selector: 'gf-product-page', | ||||
|  |   standalone: true, | ||||
|  |   styleUrls: ['./product-page.scss'], | ||||
|  |   templateUrl: './product-page.html' | ||||
|  | }) | ||||
|  | export class GfProductPageComponent implements OnInit { | ||||
|  |   public key: string; | ||||
|  |   public price: number; | ||||
|  |   public product1: Product; | ||||
|  |   public product2: Product; | ||||
|  |   public routerLinkAbout = ['/' + $localize`about`]; | ||||
|  |   public routerLinkFeatures = ['/' + $localize`features`]; | ||||
|  |   public routerLinkResourcesPersonalFinanceTools = [ | ||||
|  |     '/' + $localize`resources`, | ||||
|  |     'personal-finance-tools' | ||||
|  |   ]; | ||||
|  | 
 | ||||
|  |   public constructor( | ||||
|  |     private dataService: DataService, | ||||
|  |     private route: ActivatedRoute | ||||
|  |   ) {} | ||||
|  | 
 | ||||
|  |   public ngOnInit() { | ||||
|  |     const { subscriptions } = this.dataService.fetchInfo(); | ||||
|  | 
 | ||||
|  |     this.price = subscriptions?.default?.price; | ||||
|  | 
 | ||||
|  |     this.product1 = { | ||||
|  |       founded: 2021, | ||||
|  |       hasFreePlan: true, | ||||
|  |       hasSelfHostingAbility: true, | ||||
|  |       isOpenSource: true, | ||||
|  |       key: 'ghostfolio', | ||||
|  |       languages: [ | ||||
|  |         'Deutsch', | ||||
|  |         'English', | ||||
|  |         'Español', | ||||
|  |         'Français', | ||||
|  |         'Italiano', | ||||
|  |         'Nederlands', | ||||
|  |         'Português', | ||||
|  |         'Türkçe', | ||||
|  |         '简体中文' | ||||
|  |       ], | ||||
|  |       name: 'Ghostfolio', | ||||
|  |       origin: $localize`Switzerland`, | ||||
|  |       region: $localize`Global`, | ||||
|  |       slogan: 'Open Source Wealth Management', | ||||
|  |       useAnonymously: true | ||||
|  |     }; | ||||
|  | 
 | ||||
|  |     this.product2 = personalFinanceTools.find(({ key }) => { | ||||
|  |       return key === this.route.snapshot.data['key']; | ||||
|  |     }); | ||||
|  |   } | ||||
|  | } | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-allinvestview-systems-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class AllInvestViewPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'allinvestview'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-allvue-systems-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class AllvueSystemsPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'allvue-systems'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-altoo-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class AltooPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'altoo'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,19 +0,0 @@ | |||||
| import { DataService } from '@ghostfolio/client/services/data.service'; |  | ||||
| 
 |  | ||||
| import { Component, OnInit } from '@angular/core'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   selector: 'gf-base-product-page', |  | ||||
|   template: '' |  | ||||
| }) |  | ||||
| export class BaseProductPageComponent implements OnInit { |  | ||||
|   public price: number; |  | ||||
| 
 |  | ||||
|   public constructor(private dataService: DataService) {} |  | ||||
| 
 |  | ||||
|   public ngOnInit() { |  | ||||
|     const { subscriptions } = this.dataService.fetchInfo(); |  | ||||
| 
 |  | ||||
|     this.price = subscriptions?.default?.price; |  | ||||
|   } |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-basil-finance-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class BasilFinancePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'basil-finance'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-beanvest-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class BeanvestPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'beanvest'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-capitally-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class CapitallyPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'capitally'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-capmon-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class CapMonPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'capmon'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-compound-planning-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class CompoundPlanningPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'compound-planning'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-copilot-money-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class CopilotMoneyPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'copilot-money'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-de-fi-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class DeFiPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'de.fi'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-delta-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class DeltaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'delta'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-divvy-diary-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class DivvyDiaryPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'divvydiary'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-eightfigures-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class EightFiguresPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'eightfigures'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-empower-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class EmpowerPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'empower'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-exirio-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class ExirioPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'exirio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-fina-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class FinaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'fina'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-finary-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class FinaryPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'finary'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-finwise-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class FinWisePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'finwise'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-folishare-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class FolisharePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'folishare'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-getquin-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class GetquinPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'getquin'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-gospatz-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class GoSpatzPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'gospatz'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-intuit-mint-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class IntuitMintPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'intuit-mint'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-justetf-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class JustEtfPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'justetf'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-koyfin-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class KoyfinPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'koyfin'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-kubera-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class KuberaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'kubera'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-magnifi-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class MagnifiPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'magnifi'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-markets-sh-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class MarketsShPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'markets.sh'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-maybe-finance-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class MaybeFinancePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'maybe-finance'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-monarch-money-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class MonarchMoneyPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'monarch-money'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-monse-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class MonsePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'monse'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-navexa-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class NavexaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'navexa'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-parqet-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class ParqetPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'parqet'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-plannix-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class PlannixPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'plannix'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-portfolio-dividend-tracker-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class PortfolioDividendTrackerPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'portfolio-dividend-tracker'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-portfolio-visualizer-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class PortfolioVisualizerPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'portfolio-visualizer'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-portseido-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class PortseidoPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'portseido'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-projection-lab-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class ProjectionLabPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'projectionlab'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-rocket-money-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class RocketMoneyPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'rocket-money'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-seeking-alpha-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class SeekingAlphaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'seeking-alpha'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-sharesight-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class SharesightPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'sharesight'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-simple-portfolio-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class SimplePortfolioPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'simple-portfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-snowball-analytics-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class SnowballAnalyticsPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'snowball-analytics'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-stock-events-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class StockEventsPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'stock-events'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-stockle-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class StocklePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'stockle'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-stockmarketeye-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class StockMarketEyePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'stockmarketeye'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-stonksfolio-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class StonksfolioPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'stonksfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-sumio-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class SumioPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'sumio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-tiller-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class TillerPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'tiller'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-utluna-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class UtlunaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'utluna'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-vyzer-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class VyzerPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'vyzer'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-wallmine-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class WallminePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'wallmine'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-wealthfolio-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class WealthfolioPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'wealthfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-wealthica-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class WealthicaPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'wealthica'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-whal-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class WhalPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'whal'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-yeekatee-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class YeekateePageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'yeekatee'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
| @ -1,32 +0,0 @@ | |||||
| import { CommonModule } from '@angular/common'; |  | ||||
| import { Component } from '@angular/core'; |  | ||||
| import { MatButtonModule } from '@angular/material/button'; |  | ||||
| import { RouterModule } from '@angular/router'; |  | ||||
| 
 |  | ||||
| import { products } from '../products'; |  | ||||
| import { BaseProductPageComponent } from './base-page.component'; |  | ||||
| 
 |  | ||||
| @Component({ |  | ||||
|   host: { class: 'page' }, |  | ||||
|   imports: [CommonModule, MatButtonModule, RouterModule], |  | ||||
|   selector: 'gf-ynab-page', |  | ||||
|   standalone: true, |  | ||||
|   styleUrls: ['../product-page-template.scss'], |  | ||||
|   templateUrl: '../product-page-template.html' |  | ||||
| }) |  | ||||
| export class YnabPageComponent extends BaseProductPageComponent { |  | ||||
|   public product1 = products.find(({ key }) => { |  | ||||
|     return key === 'ghostfolio'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public product2 = products.find(({ key }) => { |  | ||||
|     return key === 'ynab'; |  | ||||
|   }); |  | ||||
| 
 |  | ||||
|   public routerLinkAbout = ['/' + $localize`about`]; |  | ||||
|   public routerLinkFeatures = ['/' + $localize`features`]; |  | ||||
|   public routerLinkResourcesPersonalFinanceTools = [ |  | ||||
|     '/' + $localize`resources`, |  | ||||
|     'personal-finance-tools' |  | ||||
|   ]; |  | ||||
| } |  | ||||
					Loading…
					
					
				
		Reference in new issue