From 904d4eb6a245a321f5f985da0129efcd36543e83 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 4 Jun 2024 20:36:18 +0200 Subject: [PATCH] Add Koyfin --- apps/api/src/assets/sitemap.xml | 16 ++++++++++ .../personal-finance-tools/products.ts | 12 +++++++ .../products/koyfin-page.component.ts | 32 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/koyfin-page.component.ts diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml index f02c80fc7..ce2326efb 100644 --- a/apps/api/src/assets/sitemap.xml +++ b/apps/api/src/assets/sitemap.xml @@ -146,6 +146,10 @@ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-justetf ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-koyfin + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-kubera ${currentDate}T00:00:00+00:00 @@ -512,6 +516,10 @@ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-justetf ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-koyfin + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-kubera ${currentDate}T00:00:00+00:00 @@ -890,6 +898,10 @@ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-justetf ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-koyfin + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-kubera ${currentDate}T00:00:00+00:00 @@ -1114,6 +1126,10 @@ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-justetf ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-koyfin + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-kubera ${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 c681ac93c..cad47bc90 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 @@ -23,6 +23,7 @@ import { GetquinPageComponent } from './products/getquin-page.component'; import { GoSpatzPageComponent } from './products/gospatz-page.component'; import { IntuitMintPageComponent } from './products/intuit-mint-page.component'; import { JustEtfPageComponent } from './products/justetf-page.component'; +import { KoyfinPageComponent } from './products/koyfin-page.component'; import { KuberaPageComponent } from './products/kubera-page.component'; import { MagnifiPageComponent } from './products/magnifi-page.component'; import { MarketsShPageComponent } from './products/markets.sh-page.component'; @@ -311,6 +312,17 @@ export const products: Product[] = [ pricingPerYear: '€119', slogan: 'ETF portfolios made simple' }, + { + component: KoyfinPageComponent, + founded: 2016, + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'koyfin', + name: 'Koyfin', + origin: $localize`United States`, + pricingPerYear: '$468', + slogan: 'Comprehensive financial data analysis' + }, { component: KuberaPageComponent, founded: 2019, diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/koyfin-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/koyfin-page.component.ts new file mode 100644 index 000000000..b88496b8e --- /dev/null +++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/koyfin-page.component.ts @@ -0,0 +1,32 @@ +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' + ]; +}