From 8ff80c10e5ec96704916242fe0e775dcbdb2d5b8 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 11 Nov 2023 09:01:58 +0100 Subject: [PATCH] Feature/extend personal finance tools pages 20231110 (#2630) * Add Magnifi * Add Basil Finance --- apps/api/src/assets/sitemap.xml | 32 +++++++++++++++++++ .../personal-finance-tools/products.ts | 22 +++++++++++++ .../products/basil-finance-page.component.ts | 31 ++++++++++++++++++ .../products/magnifi-page.component.ts | 31 ++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml index 2c8ad34b9..015a6f67b 100644 --- a/apps/api/src/assets/sitemap.xml +++ b/apps/api/src/assets/sitemap.xml @@ -66,6 +66,10 @@ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-altoo ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-basil-finance + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-beanvest ${currentDate}T00:00:00+00:00 @@ -126,6 +130,10 @@ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-kubera ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-magnifi + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-markets.sh ${currentDate}T00:00:00+00:00 @@ -368,6 +376,10 @@ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-altoo ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-basil-finance + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-beanvest ${currentDate}T00:00:00+00:00 @@ -428,6 +440,10 @@ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-kubera ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-magnifi + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-markets.sh ${currentDate}T00:00:00+00:00 @@ -694,6 +710,10 @@ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-altoo ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-basil-finance + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-beanvest ${currentDate}T00:00:00+00:00 @@ -754,6 +774,10 @@ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-kubera ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-magnifi + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-markets.sh ${currentDate}T00:00:00+00:00 @@ -866,6 +890,10 @@ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-altoo ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-basil-finance + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-beanvest ${currentDate}T00:00:00+00:00 @@ -926,6 +954,10 @@ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-kubera ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-magnifi + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-markets.sh ${currentDate}T00:00:00+00:00 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 8e4559fa5..0cd32adc3 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 @@ -2,6 +2,7 @@ import { Product } from '@ghostfolio/common/interfaces'; import { AllvueSystemsPageComponent } from './products/allvue-systems-page.component'; import { AltooPageComponent } from './products/altoo-page.component'; +import { BasilFinancePageComponent } from './products/basil-finance-page.component'; import { BeanvestPageComponent } from './products/beanvest-page.component'; import { CapitallyPageComponent } from './products/capitally-page.component'; import { CapMonPageComponent } from './products/capmon-page.component'; @@ -18,6 +19,7 @@ import { GoSpatzPageComponent } from './products/gospatz-page.component'; import { IntuitMintPageComponent } from './products/intuit-mint-page.component'; import { JustEtfPageComponent } from './products/justetf-page.component'; import { KuberaPageComponent } from './products/kubera-page.component'; +import { MagnifiPageComponent } from './products/magnifi-page.component'; import { MarketsShPageComponent } from './products/markets.sh-page.component'; import { MaybeFinancePageComponent } from './products/maybe-finance-page.component'; import { MonarchMoneyPageComponent } from './products/monarch-money-page.component'; @@ -84,6 +86,15 @@ export const products: Product[] = [ origin: $localize`Switzerland`, slogan: 'Simplicity for Complex Wealth' }, + { + component: BasilFinancePageComponent, + founded: 2022, + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'basil-finance', + name: 'Basil Finance', + slogan: 'The ultimate solution for tracking and managing your investments' + }, { component: BeanvestPageComponent, founded: 2020, @@ -252,6 +263,17 @@ export const products: Product[] = [ pricingPerYear: '$150', slogan: 'The Time Machine for your Net Worth' }, + { + component: MagnifiPageComponent, + founded: 2018, + hasFreePlan: false, + hasSelfHostingAbility: false, + key: 'magnifi', + name: 'Magnifi', + origin: $localize`United States`, + pricingPerYear: '$132', + slogan: 'AI Investing Assistant' + }, { component: MarketsShPageComponent, founded: 2022, 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 new file mode 100644 index 000000000..c6ec41c55 --- /dev/null +++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts @@ -0,0 +1,31 @@ +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'; + +@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 { + 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' + ]; +} 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 new file mode 100644 index 000000000..63cde2c14 --- /dev/null +++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts @@ -0,0 +1,31 @@ +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'; + +@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 { + 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' + ]; +}