diff --git a/apps/client/src/app/app.component.html b/apps/client/src/app/app.component.html index 13da2394f..bcaf053d6 100644 --- a/apps/client/src/app/app.component.html +++ b/apps/client/src/app/app.component.html @@ -70,7 +70,14 @@
  • Markets
  • -
  • Tools
  • +
  • + Tools +
  • Resources
  • diff --git a/apps/client/src/app/pages/personal-finance-tools/page-template.html b/apps/client/src/app/pages/personal-finance-tools/page-template.html index 6d11c253d..36793b9c2 100644 --- a/apps/client/src/app/pages/personal-finance-tools/page-template.html +++ b/apps/client/src/app/pages/personal-finance-tools/page-template.html @@ -11,7 +11,26 @@

    Are you looking for an open source alternative to {{ product2.name - }}? Compare Ghostfolio to {{ product2.name }} using the table below. + }}? Ghostfolio is a powerful + portfolio management tool that provides individuals with a + comprehensive platform to track, analyze, and optimize their + investments. Whether you are an experienced investor or just + starting out, Ghostfolio offers an intuitive user interface and a + wide range of functionalities + to help you make informed decisions and take control of your + financial future. +

    +

    + Ghostfolio is open source software (OSS) where a community of + developers, contributors, and enthusiasts collaborate to enhance its + capabilities, security, and user experience. +

    +

    + Let’s dive deeper into the detailed comparison table below to gain a + comprehensive understanding of how Ghostfolio compares to {{ + product2.name }}. We will explore various aspects such as features, + data privacy, pricing, and more, allowing you to make a + well-informed choice for your needs.

    @@ -72,6 +91,27 @@ > + + + Self-Hosting + + + + + + + + Free Plan @@ -113,11 +153,12 @@

    - Would you like to refine your - personal investment strategy? + Ready to take your investments to the + next level?

    - Ghostfolio empowers you to keep track of your wealth. + Effortlessly track, analyze, and visualize your wealth with + Ghostfolio.

    @@ -125,29 +166,74 @@
    +
    + + Please note that the information provided is based on our + independent research and analysis. This website is not affiliated + with {{ product2.name }} or any other product mentioned in the + comparison. As the landscape of personal finance tools evolves, it + is essential to verify any specific details or changes directly from + the respective product page. Data needs a refresh? Help us maintain + accurate data on + GitHub. + +
    -
    - This website is not affiliated with {{ product2.name }}. -
    diff --git a/apps/client/src/app/pages/personal-finance-tools/page-template.scss b/apps/client/src/app/pages/personal-finance-tools/page-template.scss new file mode 100644 index 000000000..4a8680714 --- /dev/null +++ b/apps/client/src/app/pages/personal-finance-tools/page-template.scss @@ -0,0 +1,17 @@ +:host { + color: rgb(var(--dark-primary-text)); + display: block; + + a { + color: rgba(var(--palette-primary-500), 1); + font-weight: 500; + + &:hover { + color: rgba(var(--palette-primary-300), 1); + } + } +} + +:host-context(.is-dark-theme) { + color: rgb(var(--light-primary-text)); +} diff --git a/apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html b/apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html index 38b02bdd6..7f665ce85 100644 --- a/apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html +++ b/apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html @@ -14,12 +14,12 @@
    - Ghostfolio: The open source alternative to {{ product.name - }} + Open Source Alternative to {{ product.name }}
    diff --git a/apps/client/src/app/pages/personal-finance-tools/products.ts b/apps/client/src/app/pages/personal-finance-tools/products.ts index 0a1d1521e..59afcd2cf 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products.ts @@ -14,6 +14,7 @@ export const products: Product[] = [ component: undefined, founded: 2021, hasFreePlan: true, + hasSelfHostingAbility: true, isOpenSource: true, key: 'ghostfolio', languages: @@ -27,6 +28,7 @@ export const products: Product[] = [ { component: AltooPageComponent, founded: 2017, + hasSelfHostingAbility: false, isOpenSource: false, key: 'altoo', name: 'Altoo-Wealth-Plattform', @@ -37,6 +39,7 @@ export const products: Product[] = [ component: GetquinPageComponent, founded: 2020, hasFreePlan: true, + hasSelfHostingAbility: false, isOpenSource: false, languages: 'English, German', key: 'getquin', @@ -49,6 +52,7 @@ export const products: Product[] = [ component: KuberaPageComponent, founded: 2019, hasFreePlan: false, + hasSelfHostingAbility: false, isOpenSource: false, key: 'kubera', name: 'Kubera®', @@ -59,6 +63,7 @@ export const products: Product[] = [ { component: MaybeFinancePageComponent, founded: 2021, + hasSelfHostingAbility: false, isOpenSource: false, key: 'maybe-finance', languages: 'English', @@ -72,6 +77,7 @@ export const products: Product[] = [ { component: ParqetPageComponent, founded: 2020, + hasSelfHostingAbility: false, hasFreePlan: true, isOpenSource: false, key: 'parqet', @@ -85,6 +91,7 @@ export const products: Product[] = [ { component: SimplePortfolioPageComponent, hasFreePlan: true, + hasSelfHostingAbility: false, isOpenSource: false, key: 'simple-portfolio', name: 'Simple Portfolio', @@ -95,6 +102,7 @@ export const products: Product[] = [ { component: UtlunaPageComponent, hasFreePlan: true, + hasSelfHostingAbility: false, isOpenSource: false, key: 'utluna', languages: 'English, French, German', @@ -106,6 +114,7 @@ export const products: Product[] = [ { component: YeekateePageComponent, founded: 2021, + hasSelfHostingAbility: false, isOpenSource: false, key: 'yeekatee', name: 'yeekatee', diff --git a/apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts index cf390e3e9..46da95308 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-altoo-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class AltooPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts index 0324ef39a..af918dfbe 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-getquin-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class GetquinPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts index b0f38619d..d7ac9fd3b 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-kubera-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class KuberaPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts index bf7ee65db..d29232253 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-maybe-finance-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class MaybeFinancePageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts index 6232cef5d..f0ba1d3c8 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-parqet-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class ParqetPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts index f108cfcd3..5425506e2 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-simple-portfolio-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class SimplePortfolioPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts index 00a6c55bd..c421f52bd 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-utluna-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class UtlunaPageComponent { diff --git a/apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts b/apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts index ef853696f..9f4648197 100644 --- a/apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts +++ b/apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts @@ -10,6 +10,7 @@ import { products } from '../products'; imports: [CommonModule, MatButtonModule, RouterModule], selector: 'gf-yeekatee-page', standalone: true, + styleUrls: ['../page-template.scss'], templateUrl: '../page-template.html' }) export class YeekateePageComponent { diff --git a/libs/common/src/lib/interfaces/product.ts b/libs/common/src/lib/interfaces/product.ts index 2792d6c82..22067b7b7 100644 --- a/libs/common/src/lib/interfaces/product.ts +++ b/libs/common/src/lib/interfaces/product.ts @@ -2,6 +2,7 @@ export interface Product { component: any; founded?: number; hasFreePlan?: boolean; + hasSelfHostingAbility?: boolean; isOpenSource: boolean; key: string; languages?: string;