diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml index 36b591d1b..6018c5e11 100644 --- a/apps/api/src/assets/sitemap.xml +++ b/apps/api/src/assets/sitemap.xml @@ -206,6 +206,10 @@ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-yeekatee ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-ynab + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/de/ueber-uns ${currentDate}T00:00:00+00:00 @@ -500,6 +504,10 @@ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-yeekatee ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-ynab + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/es ${currentDate}T00:00:00+00:00 @@ -818,6 +826,10 @@ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-yeekatee ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-ynab + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/nl ${currentDate}T00:00:00+00:00 @@ -982,6 +994,10 @@ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-yeekatee ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-ynab + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/nl/functionaliteiten ${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 af8cf8647..30907a8ac 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 @@ -38,6 +38,7 @@ import { UtlunaPageComponent } from './products/utluna-page.component'; import { VyzerPageComponent } from './products/vyzer-page.component'; import { WealthicaPageComponent } from './products/wealthica-page.component'; import { YeekateePageComponent } from './products/yeekatee-page.component'; +import { YnabPageComponent } from './products/ynab-page.component'; export const products: Product[] = [ { @@ -463,5 +464,15 @@ export const products: Product[] = [ origin: $localize`Switzerland`, region: $localize`Switzerland`, slogan: 'Connect. Share. Invest.' + }, + { + component: YnabPageComponent, + founded: 2004, + hasSelfHostingAbility: false, + key: 'ynab', + name: 'YNAB (You Need a Budget)', + origin: $localize`United States`, + pricingPerYear: '$99', + slogan: 'Change Your Relationship With Money' } ]; 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 new file mode 100644 index 000000000..d63f70e25 --- /dev/null +++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/ynab-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-ynab-page', + standalone: true, + styleUrls: ['../product-page-template.scss'], + templateUrl: '../product-page-template.html' +}) +export class YnabPageComponent { + 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' + ]; +}