From e31741f0c7dcb3ad90044363a8012645b3ff9123 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sun, 29 Oct 2023 08:57:33 +0100
Subject: [PATCH] Add Capitally (#2562)
---
apps/api/src/assets/sitemap.xml | 18 ++++++++++-
.../personal-finance-tools/products.ts | 11 +++++++
.../products/capitally-page.component.ts | 31 +++++++++++++++++++
3 files changed, 59 insertions(+), 1 deletion(-)
create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-page.component.ts
diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml
index 20673ed8a..2b34b50ec 100644
--- a/apps/api/src/assets/sitemap.xml
+++ b/apps/api/src/assets/sitemap.xml
@@ -62,6 +62,10 @@
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-beanvest
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-capitally
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-capmon
${currentDate}T00:00:00+00:00
@@ -324,6 +328,10 @@
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-beanvest
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-capitally
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-capmon
${currentDate}T00:00:00+00:00
@@ -615,7 +623,11 @@
${currentDate}T00:00:00+00:00
- https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-campmon
+ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-capitally
+ ${currentDate}T00:00:00+00:00
+
+
+ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-capmon
${currentDate}T00:00:00+00:00
@@ -750,6 +762,10 @@
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-beanvest
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-capitally
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-capmon
${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 660f49086..5799437b4 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 { AltooPageComponent } from './products/altoo-page.component';
import { BeanvestPageComponent } from './products/beanvest-page.component';
+import { CapitallyPageComponent } from './products/capitally-page.component';
import { CapMonPageComponent } from './products/capmon-page.component';
import { CopilotMoneyPageComponent } from './products/copilot-money-page.component';
import { DeltaPageComponent } from './products/delta-page.component';
@@ -76,6 +77,16 @@ export const products: Product[] = [
pricingPerYear: '$100',
slogan: 'Stock Portfolio Tracker for Smart Investors'
},
+ {
+ component: CapitallyPageComponent,
+ hasFreePlan: true,
+ hasSelfHostingAbility: false,
+ key: 'capitally',
+ name: 'Capitally',
+ origin: $localize`Poland`,
+ pricingPerYear: '€50',
+ slogan: 'Optimize your investments performance'
+ },
{
component: CapMonPageComponent,
founded: 2022,
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
new file mode 100644
index 000000000..b4356bc2d
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/capitally-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-capitally-page',
+ standalone: true,
+ styleUrls: ['../product-page-template.scss'],
+ templateUrl: '../product-page-template.html'
+})
+export class CapitallyPageComponent {
+ 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'
+ ];
+}