From 6ff2e0f952b940c5bda3272d809bbd357e4e94b1 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sat, 25 Nov 2023 18:48:39 +0100
Subject: [PATCH] Introduce base product page (#2687)
---
.../app/subscription/subscription.service.ts | 8 ++++----
.../product-page-template.html | 11 ++++++-----
.../personal-finance-tools/products.ts | 1 -
.../products/allvue-systems-page.component.ts | 3 ++-
.../products/altoo-page.component.ts | 3 ++-
.../products/base-page.component.ts | 18 ++++++++++++++++++
.../products/basil-finance-page.component.ts | 3 ++-
.../products/beanvest-page.component.ts | 3 ++-
.../products/capitally-page.component.ts | 3 ++-
.../products/capmon-page.component.ts | 3 ++-
.../compound-planning-page.component.ts | 3 ++-
.../products/copilot-money-page.component.ts | 3 ++-
.../products/de.fi-page.component.ts | 3 ++-
.../products/delta-page.component.ts | 3 ++-
.../products/divvydiary-page.component.ts | 3 ++-
.../products/eightfigures-page.component.ts | 3 ++-
.../products/empower-page.component.ts | 3 ++-
.../products/exirio-page.component.ts | 3 ++-
.../products/finary-page.component.ts | 3 ++-
.../products/finwise-page.component.ts | 3 ++-
.../products/folishare-page.component.ts | 3 ++-
.../products/getquin-page.component.ts | 3 ++-
.../products/gospatz-page.component.ts | 3 ++-
.../products/intuit-mint-page.component.ts | 3 ++-
.../products/justetf-page.component.ts | 3 ++-
.../products/kubera-page.component.ts | 3 ++-
.../products/magnifi-page.component.ts | 3 ++-
.../products/markets.sh-page.component.ts | 3 ++-
.../products/maybe-finance-page.component.ts | 3 ++-
.../products/monarch-money-page.component.ts | 3 ++-
.../products/monse-page.component.ts | 3 ++-
.../products/parqet-page.component.ts | 3 ++-
.../products/plannix-page.component.ts | 3 ++-
...ortfolio-dividend-tracker-page.component.ts | 3 ++-
.../products/portseido-page.component.ts | 3 ++-
.../products/projectionlab-page.component.ts | 3 ++-
.../products/rocket-money-page.component.ts | 3 ++-
.../products/seeking-alpha-page.component.ts | 3 ++-
.../products/sharesight-page.component.ts | 3 ++-
.../simple-portfolio-page.component.ts | 3 ++-
.../snowball-analytics-page.component.ts | 3 ++-
.../products/stockle-page.component.ts | 3 ++-
.../products/stockmarketeye-page.component.ts | 3 ++-
.../products/sumio-page.component.ts | 3 ++-
.../products/tiller-page.component.ts | 3 ++-
.../products/utluna-page.component.ts | 3 ++-
.../products/vyzer-page.component.ts | 3 ++-
.../products/wealthica-page.component.ts | 3 ++-
.../products/whal-page.component.ts | 3 ++-
.../products/yeekatee-page.component.ts | 3 ++-
.../products/ynab-page.component.ts | 3 ++-
51 files changed, 122 insertions(+), 57 deletions(-)
create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/base-page.component.ts
diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts
index d94dd68ad..2e7c16a39 100644
--- a/apps/api/src/app/subscription/subscription.service.ts
+++ b/apps/api/src/app/subscription/subscription.service.ts
@@ -111,14 +111,14 @@ export class SubscriptionService {
aSubscriptions: Subscription[]
): UserWithSettings['subscription'] {
if (aSubscriptions.length > 0) {
- const latestSubscription = aSubscriptions.reduce((a, b) => {
+ const { expiresAt, price } = aSubscriptions.reduce((a, b) => {
return new Date(a.expiresAt) > new Date(b.expiresAt) ? a : b;
});
return {
- expiresAt: latestSubscription.expiresAt,
- offer: latestSubscription.price === 0 ? 'default' : 'renewal',
- type: isBefore(new Date(), latestSubscription.expiresAt)
+ expiresAt,
+ offer: price ? 'renewal' : 'default',
+ type: isBefore(new Date(), expiresAt)
? SubscriptionType.Premium
: SubscriptionType.Basic
};
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html b/apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html
index a2daeaf24..148b4ad37 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html
@@ -181,13 +181,14 @@
Pricing |
-
- Starting from {{ product1.pricingPerYear }} / year
+ |
+ Starting from ${{ price }} /
+ year
|
- Starting from {{ product2.pricingPerYear }} /
- yearStarting from {{ product2.pricingPerYear
+ }} / year
|
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
index 93b945d27..5d808ab60 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
@@ -67,7 +67,6 @@ export const products: Product[] = [
],
name: 'Ghostfolio',
origin: $localize`Switzerland`,
- pricingPerYear: '$24',
region: $localize`Global`,
slogan: 'Open Source Wealth Management',
useAnonymously: true
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/allvue-systems-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/allvue-systems-page.component.ts
index a8acb3742..399abe975 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/allvue-systems-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/allvue-systems-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class AllvueSystemsPageComponent {
+export class AllvueSystemsPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts
index a74659ed0..1d1164e79 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class AltooPageComponent {
+export class AltooPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/base-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/base-page.component.ts
new file mode 100644
index 000000000..23a5835b7
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/base-page.component.ts
@@ -0,0 +1,18 @@
+import { Component, OnInit } from '@angular/core';
+import { DataService } from '@ghostfolio/client/services/data.service';
+
+@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;
+ }
+}
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts
index c6ec41c55..1712f0013 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class BasilFinancePageComponent {
+export class BasilFinancePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/beanvest-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/beanvest-page.component.ts
index 83c4e374e..26b3b7fa3 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/beanvest-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/beanvest-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class BeanvestPageComponent {
+export class BeanvestPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-page.component.ts
index b4356bc2d..37501d4f0 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class CapitallyPageComponent {
+export class CapitallyPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/capmon-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/capmon-page.component.ts
index 7df8872a3..d021e2078 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/capmon-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/capmon-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class CapMonPageComponent {
+export class CapMonPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/compound-planning-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/compound-planning-page.component.ts
index 03a7317c4..0d455e127 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/compound-planning-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/compound-planning-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class CompoundPlanningPageComponent {
+export class CompoundPlanningPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts
index 7bab02522..f1c05855f 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class CopilotMoneyPageComponent {
+export class CopilotMoneyPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/de.fi-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/de.fi-page.component.ts
index 7ece232d1..b2a0d62ec 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/de.fi-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/de.fi-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class DeFiPageComponent {
+export class DeFiPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts
index df540e0ac..fe11152d3 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class DeltaPageComponent {
+export class DeltaPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts
index aad566c93..e128650de 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class DivvyDiaryPageComponent {
+export class DivvyDiaryPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts
index 3867beaf2..933e1ac4b 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class EightFiguresPageComponent {
+export class EightFiguresPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/empower-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/empower-page.component.ts
index 0abdc5fbf..ea02c8b17 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/empower-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/empower-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class EmpowerPageComponent {
+export class EmpowerPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts
index 79a4cba9b..7844350df 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class ExirioPageComponent {
+export class ExirioPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts
index 6b2d25827..4e64d8c8f 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class FinaryPageComponent {
+export class FinaryPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/finwise-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/finwise-page.component.ts
index f897b80de..70f46d132 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/finwise-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/finwise-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class FinWisePageComponent {
+export class FinWisePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts
index 2f4d4da47..dfddfc2a0 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class FolisharePageComponent {
+export class FolisharePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts
index a093950f4..86ae168b6 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class GetquinPageComponent {
+export class GetquinPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts
index fc859aa4d..8bb604b11 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class GoSpatzPageComponent {
+export class GoSpatzPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/intuit-mint-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/intuit-mint-page.component.ts
index f2b594ab9..a142bec5c 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/intuit-mint-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/intuit-mint-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class IntuitMintPageComponent {
+export class IntuitMintPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts
index c67633da4..f87ec5f43 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class JustEtfPageComponent {
+export class JustEtfPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts
index 59e399881..cb0511d4f 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class KuberaPageComponent {
+export class KuberaPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts
index 63cde2c14..4e688c11e 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class MagnifiPageComponent {
+export class MagnifiPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts
index ca9c9bc5f..94bc581e4 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class MarketsShPageComponent {
+export class MarketsShPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts
index 8c101d0fc..86738e136 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class MaybeFinancePageComponent {
+export class MaybeFinancePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/monarch-money-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/monarch-money-page.component.ts
index 4b21de801..095584fbe 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/monarch-money-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/monarch-money-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class MonarchMoneyPageComponent {
+export class MonarchMoneyPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts
index a5f219c50..588854e3d 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class MonsePageComponent {
+export class MonsePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts
index 658078bae..f6e956023 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class ParqetPageComponent {
+export class ParqetPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts
index a2e8ea377..106818ea0 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class PlannixPageComponent {
+export class PlannixPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts
index 23c894646..da41c1604 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class PortfolioDividendTrackerPageComponent {
+export class PortfolioDividendTrackerPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts
index ce53572f4..7fb7703b2 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class PortseidoPageComponent {
+export class PortseidoPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts
index aacb46269..6cd22b8f4 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class ProjectionLabPageComponent {
+export class ProjectionLabPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts
index cbf2599e8..7dc279444 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class RocketMoneyPageComponent {
+export class RocketMoneyPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts
index d8783ecd5..825eacb34 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class SeekingAlphaPageComponent {
+export class SeekingAlphaPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts
index 94937c803..5b0554179 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class SharesightPageComponent {
+export class SharesightPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts
index d2ddc25b2..8a1ae2790 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class SimplePortfolioPageComponent {
+export class SimplePortfolioPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts
index a002d1d99..9892af41d 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class SnowballAnalyticsPageComponent {
+export class SnowballAnalyticsPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts
index eb1b41a9c..e06ec527b 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class StocklePageComponent {
+export class StocklePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts
index 8fda86382..1c70efc04 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class StockMarketEyePageComponent {
+export class StockMarketEyePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts
index 26f9d23fb..acf23f772 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class SumioPageComponent {
+export class SumioPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/tiller-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/tiller-page.component.ts
index 8f2218434..69ba2759b 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/tiller-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/tiller-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class TillerPageComponent {
+export class TillerPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts
index 0557cd475..8ce62c741 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class UtlunaPageComponent {
+export class UtlunaPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/vyzer-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/vyzer-page.component.ts
index a8d0f7c74..37b8c4a72 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/vyzer-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/vyzer-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class VyzerPageComponent {
+export class VyzerPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/wealthica-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/wealthica-page.component.ts
index 91e576692..cea5ddf7a 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/wealthica-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/wealthica-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class WealthicaPageComponent {
+export class WealthicaPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/whal-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/whal-page.component.ts
index c1a2ddc98..b336c07a0 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/whal-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/whal-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class WhalPageComponent {
+export class WhalPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts
index f5f61886d..bd95a70f9 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class YeekateePageComponent {
+export class YeekateePageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/ynab-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/ynab-page.component.ts
index d63f70e25..0c343b4e6 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products/ynab-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/ynab-page.component.ts
@@ -4,6 +4,7 @@ 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' },
@@ -13,7 +14,7 @@ import { products } from '../products';
styleUrls: ['../product-page-template.scss'],
templateUrl: '../product-page-template.html'
})
-export class YnabPageComponent {
+export class YnabPageComponent extends BaseProductPageComponent {
public product1 = products.find(({ key }) => {
return key === 'ghostfolio';
});