From f47c7313af7de48f2f97aad2707a5a2e1ca9ac19 Mon Sep 17 00:00:00 2001 From: Sanjeev Sharma <29539278+thesanjeevsharma@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:41:09 +0530 Subject: [PATCH 01/47] Support enter key press to submit access dialog form (#2437) * Support enter key press to submit access dialog form * Update changelog --- CHANGELOG.md | 6 +++++ apps/api/src/app/access/create-access.dto.ts | 4 ++++ ...reate-or-update-access-dialog.component.ts | 23 +++++++++++++++++-- .../create-or-update-access-dialog.html | 19 +++++++++------ 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b89aea6..9acc0e009 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Added + +- Supported enter key press to submit the form of the create or update access dialog + ## 2.9.0 - 2023-10-08 ### Added diff --git a/apps/api/src/app/access/create-access.dto.ts b/apps/api/src/app/access/create-access.dto.ts index 055cb6610..b9cf8892d 100644 --- a/apps/api/src/app/access/create-access.dto.ts +++ b/apps/api/src/app/access/create-access.dto.ts @@ -8,4 +8,8 @@ export class CreateAccessDto { @IsOptional() @IsString() granteeUserId?: string; + + @IsOptional() + @IsString() + type?: 'PUBLIC'; } diff --git a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts index 1727191e8..2aa38f4d7 100644 --- a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts +++ b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts @@ -4,7 +4,9 @@ import { Inject, OnDestroy } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { CreateAccessDto } from '@ghostfolio/api/app/access/create-access.dto'; import { Subject } from 'rxjs'; import { CreateOrUpdateAccessDialogParams } from './interfaces/interfaces'; @@ -17,19 +19,36 @@ import { CreateOrUpdateAccessDialogParams } from './interfaces/interfaces'; templateUrl: 'create-or-update-access-dialog.html' }) export class CreateOrUpdateAccessDialog implements OnDestroy { + public accessForm: FormGroup; + private unsubscribeSubject = new Subject(); public constructor( + @Inject(MAT_DIALOG_DATA) public data: CreateOrUpdateAccessDialogParams, public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data: CreateOrUpdateAccessDialogParams + private formBuilder: FormBuilder ) {} - ngOnInit() {} + ngOnInit() { + this.accessForm = this.formBuilder.group({ + alias: [this.data.access.alias], + type: [this.data.access.type, Validators.required] + }); + } public onCancel() { this.dialogRef.close(); } + public onSubmit() { + const access: CreateAccessDto = { + alias: this.accessForm.controls['alias'].value, + type: this.accessForm.controls['type'].value + }; + + this.dialogRef.close({ access }); + } + public ngOnDestroy() { this.unsubscribeSubject.next(); this.unsubscribeSubject.complete(); diff --git a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html index 5142a7f6b..c2afc51fb 100644 --- a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html +++ b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -1,33 +1,38 @@ -
+

Grant access

Alias
Type - + Public
- + From d8d4d8f001740bece2fc45a3153069bd9c499ca0 Mon Sep 17 00:00:00 2001 From: Basim Mohammed <107759928+Basimohd@users.noreply.github.com> Date: Mon, 9 Oct 2023 23:08:33 +0530 Subject: [PATCH 02/47] Change jobs table in admin control to mat-table (#2444) * Change jobs table in admin control to mat-table * Update changelog --- CHANGELOG.md | 4 + .../admin-jobs/admin-jobs.component.ts | 17 +- .../app/components/admin-jobs/admin-jobs.html | 267 ++++++++++-------- .../admin-jobs/admin-jobs.module.ts | 2 + 4 files changed, 175 insertions(+), 115 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9acc0e009..9ff26a060 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Supported enter key press to submit the form of the create or update access dialog +### Changed + +- Changed the queue jobs view in the admin control panel to an `@angular/material` data table + ## 2.9.0 - 2023-10-08 ### Added diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts b/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts index 91988eb4d..9c5e8e62a 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts @@ -6,6 +6,7 @@ import { OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; +import { MatTableDataSource } from '@angular/material/table'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { QUEUE_JOB_STATUS_LIST } from '@ghostfolio/common/config'; @@ -24,7 +25,19 @@ import { takeUntil } from 'rxjs/operators'; export class AdminJobsComponent implements OnDestroy, OnInit { public defaultDateTimeFormat: string; public filterForm: FormGroup; - public jobs: AdminJobs['jobs'] = []; + public dataSource: MatTableDataSource = + new MatTableDataSource(); + public displayedColumns = [ + 'index', + 'type', + 'symbol', + 'dataSource', + 'attempts', + 'created', + 'finished', + 'status', + 'actions' + ]; public statusFilterOptions = QUEUE_JOB_STATUS_LIST; public user: User; @@ -102,7 +115,7 @@ export class AdminJobsComponent implements OnDestroy, OnInit { .fetchJobs({ status: aStatus }) .pipe(takeUntil(this.unsubscribeSubject)) .subscribe(({ jobs }) => { - this.jobs = jobs; + this.dataSource = new MatTableDataSource(jobs); this.changeDetectorRef.markForCheck(); }); diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.html b/apps/client/src/app/components/admin-jobs/admin-jobs.html index acb868979..0fb95a26a 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.html +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -13,122 +13,163 @@ - - - - - - - - - - - -
#TypeSymbolData SourceAttemptsCreatedFinishedStatus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + +
+ # + + {{ element.id }} + + Type + + + + + Asset Profile + + + Historical Market Data + + + + Symbol + + {{ element.data?.symbol }} + + Data Source + + {{ element.data?.dataSource }} + + Attempts + + {{ element.attemptsMade }} + + Created + + {{ element.timestamp | date: defaultDateTimeFormat }} + + Finished + + {{ element.finishedOn | date: defaultDateTimeFormat }} + + Status + + + + + + + + + + + + + + + + + - - - - -
{{ job.id }} - - - - Asset Profile - - - Historical Market Data - - - {{ job.data?.symbol }}{{ job.data?.dataSource }} - {{ job.attemptsMade }} - - {{ job.timestamp | date: defaultDateTimeFormat }} - - {{ job.finishedOn | date: defaultDateTimeFormat }} - - - - - - - - - - - - - - -
diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.module.ts b/apps/client/src/app/components/admin-jobs/admin-jobs.module.ts index 93e668097..fe717b904 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.module.ts +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.module.ts @@ -4,6 +4,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatMenuModule } from '@angular/material/menu'; import { MatSelectModule } from '@angular/material/select'; +import { MatTableModule } from '@angular/material/table'; import { AdminJobsComponent } from './admin-jobs.component'; @@ -15,6 +16,7 @@ import { AdminJobsComponent } from './admin-jobs.component'; MatButtonModule, MatMenuModule, MatSelectModule, + MatTableModule, ReactiveFormsModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] From e9ef9115489cf630eda8ba6d879244612ec19256 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:28:39 +0200 Subject: [PATCH 03/47] Feature/improve search results display in assistant (#2458) * Only show search results if search is active * Update changelog --- CHANGELOG.md | 1 + libs/ui/src/lib/assistant/assistant.html | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ff26a060..9333530bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Improved the display of the results in the search for a holding - Changed the queue jobs view in the admin control panel to an `@angular/material` data table ## 2.9.0 - 2023-10-08 diff --git a/libs/ui/src/lib/assistant/assistant.html b/libs/ui/src/lib/assistant/assistant.html index cf9dd67f0..c5db29658 100644 --- a/libs/ui/src/lib/assistant/assistant.html +++ b/libs/ui/src/lib/assistant/assistant.html @@ -38,7 +38,10 @@ -
+
Holdings
Date: Mon, 9 Oct 2023 20:29:56 +0200 Subject: [PATCH 04/47] Feature/improve symbol conversion in eod historical data service (#2457) * Improve conversion of currency symbols * Update changelog --- CHANGELOG.md | 1 + .../eod-historical-data/eod-historical-data.service.ts | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9333530bc..b021bcc8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the display of the results in the search for a holding - Changed the queue jobs view in the admin control panel to an `@angular/material` data table +- Improved the symbol conversion in the _EOD Historical Data_ service ## 2.9.0 - 2023-10-08 diff --git a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts index 307f6127a..ac2f35c04 100644 --- a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts +++ b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts @@ -283,7 +283,6 @@ export class EodHistoricalDataService implements DataProviderInterface { if (symbol.endsWith('.FOREX')) { symbol = symbol.replace('GBX', 'GBp'); symbol = symbol.replace('.FOREX', ''); - symbol = `${DEFAULT_CURRENCY}${symbol}`; } return symbol; @@ -292,7 +291,7 @@ export class EodHistoricalDataService implements DataProviderInterface { /** * Converts a symbol to a EOD symbol * - * Currency: USDCHF -> CHF.FOREX + * Currency: USDCHF -> USDCHF.FOREX */ private convertToEodSymbol(aSymbol: string) { if ( @@ -304,9 +303,10 @@ export class EodHistoricalDataService implements DataProviderInterface { aSymbol.substring(0, aSymbol.length - DEFAULT_CURRENCY.length) ) ) { - return `${aSymbol - .replace('GBp', 'GBX') - .replace(DEFAULT_CURRENCY, '')}.FOREX`; + let symbol = aSymbol; + symbol = symbol.replace('GBp', 'GBX'); + + return `${symbol}.FOREX`; } } From 162fc25e23dd62643a820bc1fda6c01a5fd9f7c4 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:31:34 +0200 Subject: [PATCH 05/47] Release 2.10.0 (#2459) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b021bcc8d..8e7a5f4e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.10.0 - 2023-10-09 ### Added diff --git a/package.json b/package.json index 46c05f611..bbbb99907 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.9.0", + "version": "2.10.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 6c66033eb443d2be10f2bf7cbe5413c95e57bd0d Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 10 Oct 2023 17:31:53 +0200 Subject: [PATCH 06/47] Add date to markets overview by benchmarks (#2436) * Add date * Update changelog --- CHANGELOG.md | 6 ++++++ apps/api/src/app/benchmark/benchmark.service.ts | 8 ++++---- .../services/market-data/market-data.service.ts | 14 +++++++++----- .../src/lib/interfaces/benchmark.interface.ts | 1 + 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e7a5f4e1..6fc130922 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Added + +- Extended the markets overview by benchmarks (date of last all time high) + ## 2.10.0 - 2023-10-09 ### Added diff --git a/apps/api/src/app/benchmark/benchmark.service.ts b/apps/api/src/app/benchmark/benchmark.service.ts index 7fe1911a4..2547e57cc 100644 --- a/apps/api/src/app/benchmark/benchmark.service.ts +++ b/apps/api/src/app/benchmark/benchmark.service.ts @@ -64,7 +64,7 @@ export class BenchmarkService { const benchmarkAssetProfiles = await this.getBenchmarkAssetProfiles(); - const promises: Promise[] = []; + const promises: Promise<{ date: Date; marketPrice: number }>[] = []; const quotes = await this.dataProviderService.getQuotes({ items: benchmarkAssetProfiles.map(({ dataSource, symbol }) => { @@ -85,15 +85,14 @@ export class BenchmarkService { let performancePercentFromAllTimeHigh = 0; - if (allTimeHigh && marketPrice) { + if (allTimeHigh?.marketPrice && marketPrice) { performancePercentFromAllTimeHigh = this.calculateChangeInPercentage( - allTimeHigh, + allTimeHigh.marketPrice, marketPrice ); } else { storeInCache = false; } - return { marketCondition: this.getMarketCondition( performancePercentFromAllTimeHigh @@ -101,6 +100,7 @@ export class BenchmarkService { name: benchmarkAssetProfiles[index].name, performances: { allTimeHigh: { + date: allTimeHigh.date, performancePercent: performancePercentFromAllTimeHigh } } diff --git a/apps/api/src/services/market-data/market-data.service.ts b/apps/api/src/services/market-data/market-data.service.ts index 414c247aa..5760096bf 100644 --- a/apps/api/src/services/market-data/market-data.service.ts +++ b/apps/api/src/services/market-data/market-data.service.ts @@ -39,18 +39,22 @@ export class MarketDataService { }); } - public async getMax({ dataSource, symbol }: UniqueAsset): Promise { - const aggregations = await this.prismaService.marketData.aggregate({ - _max: { + public async getMax({ dataSource, symbol }: UniqueAsset) { + return this.prismaService.marketData.findFirst({ + select: { + date: true, marketPrice: true }, + orderBy: [ + { + marketPrice: 'desc' + } + ], where: { dataSource, symbol } }); - - return aggregations._max.marketPrice; } public async getRange({ diff --git a/libs/common/src/lib/interfaces/benchmark.interface.ts b/libs/common/src/lib/interfaces/benchmark.interface.ts index 906e30759..d1a63e1f4 100644 --- a/libs/common/src/lib/interfaces/benchmark.interface.ts +++ b/libs/common/src/lib/interfaces/benchmark.interface.ts @@ -5,6 +5,7 @@ export interface Benchmark { name: EnhancedSymbolProfile['name']; performances: { allTimeHigh: { + date: Date; performancePercent: number; }; }; From 22b43b5bfc5749eb6e65ebc435f6adfb12490c3b Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 10 Oct 2023 20:17:45 +0200 Subject: [PATCH 07/47] Feature/extract locales 20231010 (#2462) * Update locales * Update changelog --- CHANGELOG.md | 4 + apps/client/src/locales/messages.de.xlf | 1000 +++++++++++++++------- apps/client/src/locales/messages.es.xlf | 1010 +++++++++++++++------- apps/client/src/locales/messages.fr.xlf | 1016 ++++++++++++++++------- apps/client/src/locales/messages.it.xlf | 1016 ++++++++++++++++------- apps/client/src/locales/messages.nl.xlf | 1016 ++++++++++++++++------- apps/client/src/locales/messages.pt.xlf | 1016 ++++++++++++++++------- apps/client/src/locales/messages.tr.xlf | 1002 +++++++++++++++------- apps/client/src/locales/messages.xlf | 987 +++++++++++++++------- 9 files changed, 5790 insertions(+), 2277 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fc130922..b51ced82a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Extended the markets overview by benchmarks (date of last all time high) +### Changed + +- Improved the language localization for German (`de`) + ## 2.10.0 - 2023-10-09 ### Added diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 4ca6c031e..e4e1223ea 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -22,7 +22,7 @@ Das Ausfallrisiko beim Börsenhandel kann erheblich sein. Es ist nicht ratsam, Geld zu investieren, welches du kurzfristig benötigst. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -42,15 +42,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -94,11 +94,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -122,7 +122,7 @@ Name apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -142,7 +142,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -162,7 +162,7 @@ Gesamt apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -174,11 +174,15 @@ Wert apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -226,7 +230,7 @@ Bearbeiten apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -246,7 +250,7 @@ Löschen apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -270,7 +274,7 @@ Möchtest du dieses Konto wirklich löschen? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -278,7 +282,7 @@ Jobs löschen apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -286,7 +290,7 @@ Symbol apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -294,7 +298,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -302,7 +306,7 @@ Datenquelle apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -318,7 +322,7 @@ Versuche apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -326,7 +330,7 @@ Erstellt apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -334,7 +338,7 @@ Abgeschlossen apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -342,7 +346,7 @@ Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -350,7 +354,7 @@ Anlageprofil apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -358,7 +362,7 @@ Historische Marktdaten apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -366,7 +370,7 @@ Daten anzeigen apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -374,7 +378,7 @@ Stacktrace anzeigen apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -382,7 +386,7 @@ Job löschen apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -430,7 +434,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -444,9 +448,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -456,10 +468,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -470,7 +478,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -484,18 +492,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - First Activity @@ -506,7 +514,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -518,7 +526,7 @@ Anzahl Aktivitäten apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -534,7 +542,7 @@ Bitte Währung hinzufügen: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -542,7 +550,7 @@ Möchtest du diesen Gutscheincode wirklich löschen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -550,7 +558,7 @@ Möchtest du diese Währung wirklich löschen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -558,7 +566,7 @@ Möchtest du den Cache wirklich leeren? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -566,7 +574,7 @@ Bitte gebe deine Systemmeldung ein: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -574,7 +582,7 @@ Anzahl Benutzer apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -582,7 +590,7 @@ pro Benutzer apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -618,7 +626,7 @@ Wechselkurse apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -626,7 +634,7 @@ Währung hinzufügen apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -634,7 +642,7 @@ Systemmeldung apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -642,7 +650,7 @@ Systemmeldung setzen apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -650,7 +658,7 @@ Lese-Modus apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -658,7 +666,7 @@ Gutscheincodes apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -666,7 +674,7 @@ Hinzufügen apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -674,7 +682,7 @@ Verwaltung apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -682,7 +690,7 @@ Cache leeren apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -702,7 +710,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -746,7 +754,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -758,7 +766,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -778,7 +786,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -794,7 +802,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -802,7 +810,7 @@ Ressourcen apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -810,7 +818,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -822,7 +830,7 @@ Preise apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -830,11 +838,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -950,7 +966,7 @@ Über apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -958,7 +974,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -966,7 +982,7 @@ Ich apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -974,7 +990,7 @@ Mein Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -982,7 +998,7 @@ Über Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -994,11 +1010,11 @@ Features apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1010,11 +1026,11 @@ Märkte apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1042,7 +1058,7 @@ Einloggen apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1054,7 +1070,7 @@ Ups! Falsches Sicherheits-Token. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1106,7 +1122,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1150,7 +1166,7 @@ Einloggen apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1276,7 +1292,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1340,7 +1356,7 @@ Sektoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1356,7 +1372,7 @@ Länder apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1516,7 +1532,7 @@ Datenschutzbestimmungen apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1528,7 +1544,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -1608,7 +1624,7 @@ Changelog apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1620,7 +1636,7 @@ Lizenz apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1644,47 +1660,47 @@ Mein Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Please enter your coupon code: Bitte gebe deinen Gutscheincode ein: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Gutscheincode konnte nicht eingelöst werden - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Gutscheincode wurde eingelöst - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Neu laden - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Möchtest du diese Anmeldemethode wirklich löschen? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1694,10 +1710,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1707,128 +1719,128 @@ Membership Mitgliedschaft - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Upgrade - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year pro Jahr - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Premium ausprobieren - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Gutschein einlösen - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Präsentationsansicht - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Basiswährung - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Locale Lokalität - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Datums- und Zahlenformat - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Zen Mode Zen Modus - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 - - Sign in with fingerprint + + Sign in with fingerprint Einloggen mit Fingerabdruck - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 User ID Benutzer ID - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Zugangsberechtigung - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Zugang gewähren - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Öffentlich - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -1844,7 +1856,7 @@ Konto aktualisieren apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -1852,7 +1864,7 @@ Konto hinzufügen apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -1868,15 +1880,15 @@ Währung apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1896,11 +1908,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1912,11 +1924,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1924,7 +1936,7 @@ Konto ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -1976,7 +1988,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1996,7 +2008,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2176,7 +2188,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2202,6 +2214,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Update activity @@ -2296,11 +2312,11 @@ Kommentar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2316,7 +2332,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2587,8 +2603,8 @@ Language Sprache - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2596,7 +2612,7 @@ Registrieren apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -2684,7 +2700,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2700,7 +2716,7 @@ Sektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2712,7 +2728,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -2891,8 +2907,8 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 @@ -2907,8 +2923,8 @@ Experimental Features Experimentelle Funktionen - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 @@ -2947,40 +2963,40 @@ Auto Automatisch - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Appearance Aussehen - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Automatisch - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Hell - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Dunkel - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 @@ -3240,35 +3256,35 @@ Community apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -3292,7 +3308,7 @@ Symbol Zuordnung apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -3328,7 +3344,7 @@ Benutzer Registrierung apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -3396,7 +3412,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3435,8 +3451,8 @@ Valid until Gültig bis - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3487,28 +3503,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values Ausblenden von sensiblen Informationen wie absoluter Performance und Stückzahl - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times Unbeschwertes Erlebnis für turbulente Zeiten - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality Vorschau auf kommende Funktionalität - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3744,7 +3760,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3887,8 +3903,8 @@ Renew Erneuern - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3980,7 +3996,7 @@ Möchtest du diese Plattform wirklich löschen? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4042,6 +4058,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4059,14 +4083,6 @@ 15 - - Set as Benchmark - Als Benchmark setzen - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Benchmarks verwalten @@ -4136,7 +4152,7 @@ Private Finanzen apps/client/src/app/app.component.html - 54 + 55 @@ -4144,7 +4160,7 @@ Häufig gestellte Fragen (FAQ) apps/client/src/app/app.component.html - 75 + 76 @@ -4356,7 +4372,7 @@ Scraper Konfiguration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4494,6 +4510,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4606,6 +4630,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4718,6 +4750,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4830,6 +4870,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4942,6 +4990,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5158,6 +5222,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5374,6 +5454,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5590,6 +5686,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5810,6 +5922,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6026,6 +6154,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6242,6 +6386,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6458,6 +6618,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -6570,6 +6738,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6682,6 +6858,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6794,6 +6978,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6906,6 +7098,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7018,6 +7218,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7130,6 +7338,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + Personal Finance Tools @@ -7242,6 +7458,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + Guides @@ -7447,8 +7671,8 @@ Biometric Authentication Biometrische Authentifizierung - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7531,8 +7755,8 @@ Export Data Daten exportieren - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7624,7 +7848,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7816,7 +8040,7 @@ Nutzer aus aller Welt verwenden Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7824,7 +8048,7 @@ Wie funktioniert Ghostfolio ? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7832,7 +8056,7 @@ Registriere dich anonym* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7840,7 +8064,7 @@ * Keine E-Mail-Adresse oder Kreditkarte erforderlich apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7848,7 +8072,7 @@ Füge historische Transaktionen hinzu apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7856,7 +8080,7 @@ Erhalte nützliche Erkenntnisse über die Zusammensetzung deines Portfolios apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7864,7 +8088,7 @@ Bist du bereit? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7872,7 +8096,7 @@ Melde dich jetzt an oder probiere die Live Demo aus apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7884,7 +8108,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7900,7 +8124,7 @@ Beginne mit nur 3 Schritten apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7932,11 +8156,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7994,6 +8218,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8062,6 +8290,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8104,11 +8336,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8178,6 +8410,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8246,6 +8482,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8308,11 +8548,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8340,11 +8580,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8354,6 +8594,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8400,7 +8644,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8436,11 +8680,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8458,6 +8702,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8486,6 +8734,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8554,6 +8806,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8718,6 +8974,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8830,6 +9094,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8942,6 +9214,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9054,6 +9334,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9166,6 +9454,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9278,6 +9574,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9402,6 +9706,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9514,6 +9826,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9626,29 +9946,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Schweiz apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9656,15 +9984,15 @@ Weltweit apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9672,39 +10000,43 @@ Vereinigte Staaten von Amerika apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgien apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9712,31 +10044,31 @@ Deutschland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9744,7 +10076,7 @@ Österreich apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9752,7 +10084,7 @@ Italien apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9760,7 +10092,7 @@ Niederlande apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9768,7 +10100,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9776,7 +10108,7 @@ Neuseeland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9784,11 +10116,11 @@ Tschechische Republik apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9912,7 +10244,7 @@ Möchtest du diesen Tag wirklich löschen? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9936,11 +10268,11 @@ Frankreich apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9956,7 +10288,7 @@ Währungsklumpenrisiken apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9964,7 +10296,115 @@ Kontoklumpenrisiken apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Cash-Bestand Transfer + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Einstellungen + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + Von + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + Nach + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transferieren + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finnland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Mitgliedschaft + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Zugang + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Finde Position... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + Keine Einträge vorhanden... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index bbb2d41a5..f9c69808f 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -23,7 +23,7 @@ El riesgo de pérdida en trading puede ser importante. No es aconsejable invertir dinero que puedas necesitar a corto plazo. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -43,15 +43,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -95,11 +95,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -123,7 +123,7 @@ Nombre apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -143,7 +143,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -163,7 +163,7 @@ Total apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -175,11 +175,15 @@ Valor apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -227,7 +231,7 @@ Edita apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -247,7 +251,7 @@ Elimina apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -271,7 +275,7 @@ ¿Estás seguro de eliminar esta cuenta? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -279,7 +283,7 @@ Elimina los trabajos apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -287,7 +291,7 @@ Símbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -295,7 +299,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -303,7 +307,7 @@ Fuente de datos apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -319,7 +323,7 @@ Intentos apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -327,7 +331,7 @@ Creado apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -335,7 +339,7 @@ Finalizado apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -343,7 +347,7 @@ Estado apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -351,7 +355,7 @@ Perfil del activo apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -359,7 +363,7 @@ Datos históricos del mercado apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -367,7 +371,7 @@ Visualiza los datos apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -375,7 +379,7 @@ Visualiza Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -383,7 +387,7 @@ Elimina el trabajo apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -431,7 +435,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -445,9 +449,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -457,10 +469,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -471,7 +479,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -485,18 +493,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - First Activity @@ -507,7 +515,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -519,7 +527,7 @@ Recuento de actividad apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -535,7 +543,7 @@ Por favor, añade una divisa: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -543,7 +551,7 @@ ¿Estás seguro de eliminar este cupón? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -551,7 +559,7 @@ ¿Estás seguro de eliminar esta divisa? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -559,7 +567,7 @@ ¿Estás seguro de limpiar la caché? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -567,7 +575,7 @@ Por favor, establece tu mensaje del sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -575,7 +583,7 @@ Número de usuarios apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -583,7 +591,7 @@ por usario apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -619,7 +627,7 @@ Tipos de cambio apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -627,7 +635,7 @@ Añadir divisa apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -635,7 +643,7 @@ Mensaje del sistema apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -643,7 +651,7 @@ Establecer mensaje apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -651,7 +659,7 @@ Modo de solo lectura apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -659,7 +667,7 @@ Cupones apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -667,7 +675,7 @@ Añadir apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -675,7 +683,7 @@ Tareas domésticas apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -683,7 +691,7 @@ Limpiar caché apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -703,7 +711,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -747,7 +755,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -759,7 +767,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -779,7 +787,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -795,7 +803,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -803,7 +811,7 @@ Recursos apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -811,7 +819,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -823,7 +831,7 @@ Precios apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -831,11 +839,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -951,7 +967,7 @@ Sobre apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -959,7 +975,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -967,7 +983,7 @@ apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -975,7 +991,7 @@ Mi Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -983,7 +999,7 @@ Sobre Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -995,11 +1011,11 @@ Funcionalidades apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1011,11 +1027,11 @@ Mercados apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1043,7 +1059,7 @@ Iniciar sesión apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1055,7 +1071,7 @@ Vaya! Token de seguridad incorrecto. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1107,7 +1123,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1151,7 +1167,7 @@ Iniciar sesión apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1274,7 +1290,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1338,7 +1354,7 @@ Sectores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1354,7 +1370,7 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1514,7 +1530,7 @@ Política de privacidad apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1526,7 +1542,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -1606,7 +1622,7 @@ Registro de cambios apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1618,7 +1634,7 @@ Licencia de uso apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1642,47 +1658,47 @@ Mi Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Please enter your coupon code: Por favor, ingresa tu código de cupón: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code No se puede canjear este código de cupón - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed El codigo de cupón ha sido canjeado - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Refrescar - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? ¿Estás seguro de eliminar este método de acceso? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1692,10 +1708,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1705,128 +1717,128 @@ Membership Suscripción - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Mejorar - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year por año - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Prueba Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Canjea el cupón - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Vista del presentador - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Divisa base - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Locale Ubicación - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Formato de fecha y número - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Zen Mode Modo Zen - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 - - Sign in with fingerprint - Accede con huella digital + + Sign in with fingerprint + Accede con huella digital - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 User ID ID usuario - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Acceso concedido - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Conceder acceso - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Público - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -1842,7 +1854,7 @@ Editar cuenta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -1850,7 +1862,7 @@ Añadir cuenta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -1866,15 +1878,15 @@ Divisa base apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1894,11 +1906,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1910,11 +1922,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1922,7 +1934,7 @@ ID cuenta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -1974,7 +1986,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1994,7 +2006,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2174,7 +2186,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2200,6 +2212,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Update activity @@ -2294,11 +2310,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2314,7 +2330,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2585,8 +2601,8 @@ Language Idioma - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2594,7 +2610,7 @@ Comenzar apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -2662,7 +2678,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2718,7 +2734,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2730,7 +2746,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -2897,16 +2913,16 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 Experimental Features Funcionalidades experimentales - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 @@ -2945,40 +2961,40 @@ Auto Automático - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Appearance Apariencia - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Automático - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Claro - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Oscuro - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 @@ -3238,35 +3254,35 @@ Comunidad apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -3290,7 +3306,7 @@ Mapeo de símbolos apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -3326,7 +3342,7 @@ User Signup apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -3394,7 +3410,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3433,8 +3449,8 @@ Valid until Valid until - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3485,28 +3501,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values Protection for sensitive information like absolute performances and quantity values - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times Distraction-free experience for turbulent times - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality Sneak peek at upcoming functionality - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3742,7 +3758,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3885,8 +3901,8 @@ Renew Renew - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3978,7 +3994,7 @@ Do you really want to delete this platform? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4040,6 +4056,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4057,14 +4081,6 @@ 15 - - Set as Benchmark - Set as Benchmark - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Manage Benchmarks @@ -4134,7 +4150,7 @@ Personal Finance apps/client/src/app/app.component.html - 54 + 55 @@ -4142,7 +4158,7 @@ Frequently Asked Questions (FAQ) apps/client/src/app/app.component.html - 75 + 76 @@ -4354,7 +4370,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4492,6 +4508,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4604,6 +4628,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4716,6 +4748,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4828,6 +4868,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4940,6 +4988,18 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5048,6 +5108,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 @@ -5156,6 +5224,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5264,6 +5340,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 @@ -5372,6 +5456,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5480,6 +5572,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 @@ -5588,6 +5688,18 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5808,6 +5920,18 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -5916,6 +6040,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 @@ -6024,6 +6156,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6132,6 +6272,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 @@ -6240,6 +6388,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6348,6 +6504,18 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 @@ -6568,6 +6736,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6680,6 +6856,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6792,6 +6976,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6904,6 +7096,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7016,6 +7216,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7128,10 +7336,26 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 - - - Personal Finance Tools - Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + + Personal Finance Tools + Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 @@ -7445,8 +7669,8 @@ Biometric Authentication Biometric Authentication - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7529,8 +7753,8 @@ Export Data Export Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7622,7 +7846,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7814,7 +8038,7 @@ Members from around the globe are using Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7822,7 +8046,7 @@ How does Ghostfolio work? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7830,7 +8054,7 @@ Sign up anonymously* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7838,7 +8062,7 @@ * no e-mail address nor credit card required apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7846,7 +8070,7 @@ Add any of your historical transactions apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7854,7 +8078,7 @@ Get valuable insights of your portfolio composition apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7862,7 +8086,7 @@ Are you ready? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7870,7 +8094,7 @@ Join now or check out the example account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7882,7 +8106,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7898,7 +8122,7 @@ Get started in only 3 steps apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7930,11 +8154,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7992,6 +8216,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8060,6 +8288,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8102,11 +8334,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8176,6 +8408,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8244,6 +8480,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8306,11 +8546,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8338,11 +8578,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8352,6 +8592,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8398,7 +8642,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8434,11 +8678,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8456,6 +8700,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8484,6 +8732,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8552,6 +8804,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8716,6 +8972,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8828,6 +9092,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8940,6 +9212,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9052,6 +9332,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9164,6 +9452,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9276,6 +9572,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9400,6 +9704,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9512,6 +9824,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9624,29 +9944,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Switzerland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9654,15 +9982,15 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9670,39 +9998,43 @@ United States apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgium apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9710,31 +10042,31 @@ Germany apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9742,7 +10074,7 @@ Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9750,7 +10082,7 @@ Italy apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9758,7 +10090,7 @@ Netherlands apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9766,7 +10098,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9774,7 +10106,7 @@ New Zealand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9782,11 +10114,11 @@ Czech Republic apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9910,7 +10242,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9934,11 +10266,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9954,7 +10286,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9962,7 +10294,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index bdba67fad..68994b48e 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -6,7 +6,7 @@ Le risque de perte en investissant peut être important. Il est déconseillé d'investir de l'argent dont vous pourriez avoir besoin à court terme. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -17,8 +17,8 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 @@ -38,15 +38,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -86,11 +86,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -106,11 +106,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -134,7 +134,7 @@ Nom apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -154,7 +154,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -174,7 +174,7 @@ Total apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -186,15 +186,15 @@ Devise apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -214,11 +214,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -226,11 +226,15 @@ Valeur apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -278,7 +282,7 @@ Modifier apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -298,7 +302,7 @@ Supprimer apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -322,7 +326,7 @@ Voulez-vous vraiment supprimer ce compte ? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -330,7 +334,7 @@ Symbole apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -338,7 +342,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -346,7 +350,7 @@ Source Données apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -362,7 +366,7 @@ Tentatives apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -370,7 +374,7 @@ Créé apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -378,7 +382,7 @@ Terminé apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -386,7 +390,7 @@ Statut apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -394,7 +398,7 @@ Supprimer Tâches apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -402,7 +406,7 @@ Profil d'Actifs apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -410,7 +414,7 @@ Données de Marché Historiques apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -418,7 +422,7 @@ Voir Données apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -426,7 +430,7 @@ Voir la Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -434,7 +438,7 @@ Supprimer Tâche apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -482,7 +486,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -496,9 +500,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -508,10 +520,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -522,7 +530,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -536,18 +544,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - Filter by... @@ -566,7 +574,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -586,7 +594,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -606,7 +614,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -686,7 +694,7 @@ Secteur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -698,7 +706,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -714,7 +722,7 @@ Secteurs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -730,7 +738,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -742,7 +750,7 @@ Équivalence de Symboles apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -750,11 +758,11 @@ Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -766,7 +774,7 @@ Veuillez ajouter une devise : apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -774,7 +782,7 @@ Voulez-vous vraiment supprimer ce code promotionnel ? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -782,7 +790,7 @@ Voulez-vous vraiment supprimer cette devise ? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -790,7 +798,7 @@ Voulez-vous vraiment vider le cache ? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -798,7 +806,7 @@ Veuillez définir votre message système : apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -806,7 +814,7 @@ Nombre d'Utilisateurs apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -814,7 +822,7 @@ Nombre d'Activités apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -822,7 +830,7 @@ par Utilisateur apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -830,7 +838,7 @@ Taux de Conversion apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -838,7 +846,7 @@ Ajouter Devise apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -862,7 +870,7 @@ Inscription de Nouveaux Utilisateurs apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -870,7 +878,7 @@ Mode Lecture Seule apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -878,7 +886,7 @@ Message Système apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -886,7 +894,7 @@ Définir Message apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -894,7 +902,7 @@ Codes promotionnels apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -902,7 +910,7 @@ Ajouter apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -910,7 +918,7 @@ Maintenance apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -918,7 +926,7 @@ Vider le Cache apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -938,7 +946,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -966,7 +974,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -1050,7 +1058,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -1062,7 +1070,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -1074,7 +1082,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -1082,7 +1090,7 @@ Ressources apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -1090,7 +1098,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -1102,7 +1110,7 @@ Prix apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -1110,11 +1118,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1230,7 +1246,7 @@ À propos apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -1238,7 +1254,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -1246,7 +1262,7 @@ Moi apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -1254,7 +1270,7 @@ Mon Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -1262,7 +1278,7 @@ À propos de Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1274,11 +1290,11 @@ Fonctionnalités apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1290,11 +1306,11 @@ Marchés apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1310,7 +1326,7 @@ Se connecter apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1322,7 +1338,7 @@ Démarrer apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -1330,7 +1346,7 @@ Se connecter apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1342,7 +1358,7 @@ Oups! Jeton de Sécurité Incorrect. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1450,7 +1466,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1605,7 +1621,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1853,7 +1869,7 @@ Historique des modifications apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1865,7 +1881,7 @@ License apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1889,7 +1905,7 @@ Politique de Vie Privée apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1901,55 +1917,55 @@ Mon Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Please enter your coupon code: Veuillez entrer votre code promotionnel : - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Le code promotionnel n'a pas pu être appliqué - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Le code promotionnel a été appliqué - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Rafraîchir - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Voulez-vous vraiment supprimer cette méthode de connexion ? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1959,10 +1975,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1972,68 +1984,68 @@ Membership Adhésion - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Mettre à niveau - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year par an - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Essayer Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Utiliser un Code Promotionnel - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Vue de Présentation - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Devise de Base - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Language Langue - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2041,143 +2053,143 @@ Communauté apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 Locale Paramètres régionaux - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Format de date et d'heure - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Appearance Apparence - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Clair - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Sombre - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 Zen Mode Mode Zen - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 - - Sign in with fingerprint - Se connecter avec empreinte + + Sign in with fingerprint + Se connecter avec empreinte - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 Experimental Features Fonctionnalités expérimentales - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 User ID ID d'utilisateur - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Accès donné - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Donner accès - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Public - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -2193,7 +2205,7 @@ Mettre à jour compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -2201,7 +2213,7 @@ Ajouter compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -2217,7 +2229,7 @@ ID du compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -2277,7 +2289,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -2385,7 +2397,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2409,7 +2421,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -2421,7 +2433,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2855,6 +2867,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Pricing @@ -3013,7 +3029,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -3432,8 +3448,8 @@ Valid until Valide jusqu'au - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3484,28 +3500,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values - Protection pour les informations sensibles telles que la performance absolue et les montants + Protection pour les informations sensibles telles que la performance absolue et les montants - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times - Expérience sans distraction pour les périodes tumultueuses + Expérience sans distraction pour les périodes tumultueuses - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality - Avant-première de fonctionnalités futures + Avant-première de fonctionnalités futures - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3741,7 +3757,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3884,8 +3900,8 @@ Renew Renouveler - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3977,7 +3993,7 @@ Voulez-vous vraiment supprimer cette plateforme ? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4039,6 +4055,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4056,14 +4080,6 @@ 15 - - Set as Benchmark - Mettre comme Référence - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Gérer les Références @@ -4133,7 +4149,7 @@ Finance Personnelle apps/client/src/app/app.component.html - 54 + 55 @@ -4141,7 +4157,7 @@ Questions Fréquentes (FAQ) apps/client/src/app/app.component.html - 75 + 76 @@ -4353,7 +4369,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4491,6 +4507,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4603,6 +4627,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4715,6 +4747,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4827,6 +4867,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4939,6 +4987,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5155,6 +5219,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5371,6 +5451,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5587,6 +5683,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5807,6 +5919,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6023,6 +6151,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6239,6 +6383,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6455,6 +6615,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -6567,6 +6735,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6679,6 +6855,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6791,6 +6975,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6903,6 +7095,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7015,6 +7215,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7127,10 +7335,26 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 - - - Personal Finance Tools - Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + + Personal Finance Tools + Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 @@ -7444,8 +7668,8 @@ Biometric Authentication Biometric Authentication - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7528,8 +7752,8 @@ Export Data Export Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7621,7 +7845,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7813,7 +8037,7 @@ Members from around the globe are using Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7821,7 +8045,7 @@ How does Ghostfolio work? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7829,7 +8053,7 @@ Sign up anonymously* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7837,7 +8061,7 @@ * no e-mail address nor credit card required apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7845,7 +8069,7 @@ Add any of your historical transactions apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7853,7 +8077,7 @@ Get valuable insights of your portfolio composition apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7861,7 +8085,7 @@ Are you ready? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7869,7 +8093,7 @@ Join now or check out the example account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7881,7 +8105,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7897,7 +8121,7 @@ Get started in only 3 steps apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7929,11 +8153,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7991,6 +8215,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8059,6 +8287,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8101,11 +8333,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8175,6 +8407,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8243,6 +8479,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8305,11 +8545,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8337,11 +8577,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8351,6 +8591,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8397,7 +8641,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8433,11 +8677,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8455,6 +8699,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8483,6 +8731,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8551,6 +8803,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8715,6 +8971,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8827,6 +9091,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8939,6 +9211,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9051,6 +9331,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9163,6 +9451,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9275,6 +9571,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9399,6 +9703,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9511,6 +9823,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9623,29 +9943,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Switzerland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9653,15 +9981,15 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9669,39 +9997,43 @@ United States apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgium apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9709,31 +10041,31 @@ Germany apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9741,7 +10073,7 @@ Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9749,7 +10081,7 @@ Italy apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9757,7 +10089,7 @@ Netherlands apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9765,7 +10097,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9773,7 +10105,7 @@ New Zealand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9781,11 +10113,11 @@ Czech Republic apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9909,7 +10241,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9933,11 +10265,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9953,7 +10285,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9961,7 +10293,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index ae8834f0c..248d3f9ec 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -23,7 +23,7 @@ Il rischio di perdita nel trading può essere notevole. Non è consigliabile investire denaro di cui potresti avere bisogno a breve termine. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -43,15 +43,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -95,11 +95,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -123,7 +123,7 @@ Nome apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -143,7 +143,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -163,7 +163,7 @@ Totale apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -175,11 +175,15 @@ Valore apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -227,7 +231,7 @@ Modifica apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -247,7 +251,7 @@ Elimina apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -271,7 +275,7 @@ Vuoi davvero eliminare questo account? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -279,7 +283,7 @@ Elimina i lavori apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -287,7 +291,7 @@ Simbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -295,7 +299,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -303,7 +307,7 @@ Sorgente dei dati apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -319,7 +323,7 @@ Tentativi apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -327,7 +331,7 @@ Creato apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -335,7 +339,7 @@ Finito apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -343,7 +347,7 @@ Stato apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -351,7 +355,7 @@ Profilo dell'asset apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -359,7 +363,7 @@ Dati storici del mercato apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -367,7 +371,7 @@ Visualizza i dati apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -375,7 +379,7 @@ Visualizza Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -383,7 +387,7 @@ Elimina il lavoro apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -431,7 +435,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -445,9 +449,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -457,10 +469,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -471,7 +479,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -485,18 +493,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - First Activity @@ -507,7 +515,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -519,7 +527,7 @@ Conteggio attività apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -535,7 +543,7 @@ Aggiungi una valuta: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -543,7 +551,7 @@ Vuoi davvero eliminare questo buono? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -551,7 +559,7 @@ Vuoi davvero eliminare questa valuta? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -559,7 +567,7 @@ Vuoi davvero svuotare la cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -567,7 +575,7 @@ Imposta il messaggio di sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -575,7 +583,7 @@ Numero di utenti apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -583,7 +591,7 @@ per utente apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -619,7 +627,7 @@ Tassi di cambio apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -627,7 +635,7 @@ Aggiungi valuta apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -635,7 +643,7 @@ Messaggio di sistema apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -643,7 +651,7 @@ Imposta messaggio apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -651,7 +659,7 @@ Modalità di sola lettura apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -659,7 +667,7 @@ Buoni sconto apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -667,7 +675,7 @@ Aggiungi apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -675,7 +683,7 @@ Bilancio domestico apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -683,7 +691,7 @@ Svuota la cache apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -703,7 +711,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -747,7 +755,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -759,7 +767,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -779,7 +787,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -795,7 +803,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -803,7 +811,7 @@ Risorse apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -811,7 +819,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -823,7 +831,7 @@ Prezzi apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -831,11 +839,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -951,7 +967,7 @@ Informazioni su apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -959,7 +975,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -967,7 +983,7 @@ Io apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -975,7 +991,7 @@ Il mio Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -983,7 +999,7 @@ Informazioni su Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -995,11 +1011,11 @@ Funzionalità apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1011,11 +1027,11 @@ Mercati apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1043,7 +1059,7 @@ Accedi apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1055,7 +1071,7 @@ Ops! Token di sicurezza errato. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1107,7 +1123,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1151,7 +1167,7 @@ Accedi apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1274,7 +1290,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1338,7 +1354,7 @@ Settori apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1354,7 +1370,7 @@ Paesi apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1514,7 +1530,7 @@ Informativa sulla privacy apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1526,7 +1542,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -1606,7 +1622,7 @@ Registro delle modifiche apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1618,7 +1634,7 @@ Licenza d'uso apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1642,47 +1658,47 @@ Il mio Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Please enter your coupon code: Inserisci il tuo codice del buono: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Impossibile riscattare il codice del buono - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Il codice del buono è stato riscattato - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Ricarica - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Vuoi davvero rimuovere questo metodo di accesso? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1692,10 +1708,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1705,128 +1717,128 @@ Membership Iscrizione - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Aggiornamento - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year per anno - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Prova Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Riscatta il buono - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Vista presentatore - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Valuta base - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Locale Locale - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Formato data e numero - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Zen Mode Modalità Zen - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 - - Sign in with fingerprint - Accesso con impronta digitale + + Sign in with fingerprint + Accesso con impronta digitale - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 User ID ID utente - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Accesso concesso - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Concedi l'accesso - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Pubblico - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -1842,7 +1854,7 @@ Aggiorna account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -1850,7 +1862,7 @@ Aggiungi un account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -1866,15 +1878,15 @@ Valuta apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1894,11 +1906,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1910,11 +1922,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1922,7 +1934,7 @@ ID account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -1974,7 +1986,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1994,7 +2006,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2174,7 +2186,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2200,6 +2212,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Update activity @@ -2294,11 +2310,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2314,7 +2330,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2585,8 +2601,8 @@ Language Lingua - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2594,7 +2610,7 @@ Inizia apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -2662,7 +2678,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2718,7 +2734,7 @@ Settore apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2730,7 +2746,7 @@ Paese apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -2897,16 +2913,16 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 Experimental Features Funzionalità sperimentali - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 @@ -2945,40 +2961,40 @@ Auto Auto - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Appearance Aspetto - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Chiaro - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Scuro - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 @@ -3238,35 +3254,35 @@ Comunità apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -3290,7 +3306,7 @@ Mappatura dei simboli apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -3326,7 +3342,7 @@ Registrazione utente apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -3394,7 +3410,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3433,8 +3449,8 @@ Valid until Valido fino a - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3485,28 +3501,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values - Protezione delle informazioni sensibili come le prestazioni assolute e i valori quantitativi + Protezione delle informazioni sensibili come le prestazioni assolute e i valori quantitativi - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times - Esperienza priva di distrazioni per i periodi più turbolenti + Esperienza priva di distrazioni per i periodi più turbolenti - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality - Un'anteprima delle funzionalità in arrivo + Un'anteprima delle funzionalità in arrivo - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3742,7 +3758,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3885,8 +3901,8 @@ Renew Rinnova - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3978,7 +3994,7 @@ Vuoi davvero eliminare questa piattaforma? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4040,6 +4056,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4057,14 +4081,6 @@ 15 - - Set as Benchmark - Imposta come benchmark - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Gestisci i benchmark @@ -4134,7 +4150,7 @@ Finanza personale apps/client/src/app/app.component.html - 54 + 55 @@ -4142,7 +4158,7 @@ Domande più frequenti (FAQ) apps/client/src/app/app.component.html - 75 + 76 @@ -4354,7 +4370,7 @@ Configurazione dello scraper apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4492,6 +4508,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4604,6 +4628,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4716,6 +4748,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4828,6 +4868,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4940,6 +4988,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5156,6 +5220,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5372,6 +5452,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5588,6 +5684,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5808,6 +5920,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6024,6 +6152,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6240,6 +6384,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6456,6 +6616,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -6568,6 +6736,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6680,6 +6856,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6792,6 +6976,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6904,6 +7096,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7016,6 +7216,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7128,10 +7336,26 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 - - - Personal Finance Tools - Strumenti di finanza personale + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + + Personal Finance Tools + Strumenti di finanza personale + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 @@ -7445,8 +7669,8 @@ Biometric Authentication Autenticazione biometrica - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7529,8 +7753,8 @@ Export Data Esporta dati - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7622,7 +7846,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7814,7 +8038,7 @@ Membri da tutto il mondo utilizzano Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7822,7 +8046,7 @@ Come funziona Ghostfolio? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7830,7 +8054,7 @@ Iscriviti in modo anonimo* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7838,7 +8062,7 @@ * non è richiesto alcun indirizzo email né la carta di credito apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7846,7 +8070,7 @@ Aggiungi le tue transazioni storiche apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7854,7 +8078,7 @@ Ottieni informazioni preziose sulla composizione del tuo portafoglio apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7862,7 +8086,7 @@ Seipronto? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7870,7 +8094,7 @@ Iscriviti adesso o consulta l'account di esempio apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7882,7 +8106,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7898,7 +8122,7 @@ Inizia in soli 3 passi apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7930,11 +8154,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7992,6 +8216,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8060,6 +8288,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8102,11 +8334,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8176,6 +8408,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8244,6 +8480,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8306,11 +8546,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8338,11 +8578,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8352,6 +8592,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8398,7 +8642,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8434,11 +8678,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8456,6 +8700,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8484,6 +8732,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8552,6 +8804,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8716,6 +8972,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8828,6 +9092,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8940,6 +9212,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9052,6 +9332,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9164,6 +9452,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9276,6 +9572,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9400,6 +9704,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9512,6 +9824,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9624,29 +9944,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Svizzera apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9654,15 +9982,15 @@ Globale apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9670,39 +9998,43 @@ Stati Uniti apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgio apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9710,31 +10042,31 @@ Germania apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9742,7 +10074,7 @@ Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9750,7 +10082,7 @@ Italia apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9758,7 +10090,7 @@ Paesi Bassi apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9766,7 +10098,7 @@ Thailandia apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9774,7 +10106,7 @@ Nuova Zelanda apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9782,11 +10114,11 @@ Repubblica Ceca apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9910,7 +10242,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9934,11 +10266,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9954,7 +10286,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9962,7 +10294,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index f69216f63..649f07f15 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -22,7 +22,7 @@ Het risico op verlies bij handelen kan aanzienlijk zijn. Het is niet aan te raden om geld te investeren dat je misschien op korte termijn nodig heeft. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -42,15 +42,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -94,11 +94,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -122,7 +122,7 @@ Naam apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -142,7 +142,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -162,7 +162,7 @@ Totaal apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -174,11 +174,15 @@ Waarde apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -226,7 +230,7 @@ Bewerken apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -246,7 +250,7 @@ Verwijderen apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -270,7 +274,7 @@ Wil je deze rekening echt verwijderen? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -278,7 +282,7 @@ Taken verwijderen apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -286,7 +290,7 @@ Symbool apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -294,7 +298,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -302,7 +306,7 @@ Gegevensbron apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -318,7 +322,7 @@ Pogingen apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -326,7 +330,7 @@ Aangemaakt apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -334,7 +338,7 @@ Voltooid apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -342,7 +346,7 @@ Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -350,7 +354,7 @@ Asset Profiel apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -358,7 +362,7 @@ Historische marktgegevens apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -366,7 +370,7 @@ Bekijk gegevens apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -374,7 +378,7 @@ Bekijk Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -382,7 +386,7 @@ Taak verwijderen apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -430,7 +434,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -444,9 +448,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -456,10 +468,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -470,7 +478,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -484,18 +492,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - First Activity @@ -506,7 +514,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -518,7 +526,7 @@ Aantal activiteiten apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -534,7 +542,7 @@ Voeg een valuta toe: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -542,7 +550,7 @@ Wil je deze coupon echt verwijderen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -550,7 +558,7 @@ Wil je deze valuta echt verwijderen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -558,7 +566,7 @@ Wil je echt de cache legen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -566,7 +574,7 @@ Stel je systeemboodschap in: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -574,7 +582,7 @@ Aantal gebruikers apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -582,7 +590,7 @@ per gebruiker apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -618,7 +626,7 @@ Wisselkoersen apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -626,7 +634,7 @@ Valuta toevoegen apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -634,7 +642,7 @@ Systeembericht apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -642,7 +650,7 @@ Bericht instellen apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -650,7 +658,7 @@ Alleen lezen apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -658,7 +666,7 @@ Coupons apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -666,7 +674,7 @@ Toevoegen apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -674,7 +682,7 @@ Huishouding apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -682,7 +690,7 @@ Cache legen apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -702,7 +710,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -746,7 +754,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -758,7 +766,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -778,7 +786,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -794,7 +802,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -802,7 +810,7 @@ Middelen apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -810,7 +818,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -822,7 +830,7 @@ Prijzen apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -830,11 +838,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -950,7 +966,7 @@ Over apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -958,7 +974,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -966,7 +982,7 @@ Ik apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -974,7 +990,7 @@ Mijn Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -982,7 +998,7 @@ Over Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -994,11 +1010,11 @@ Functionaliteiten apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1010,11 +1026,11 @@ Markten apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1042,7 +1058,7 @@ Aanmelden apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1054,7 +1070,7 @@ Oeps! Onjuiste beveiligingstoken. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1106,7 +1122,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1150,7 +1166,7 @@ Aanmelden apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1273,7 +1289,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1337,7 +1353,7 @@ Sectoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1353,7 +1369,7 @@ Landen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1513,7 +1529,7 @@ Privacybeleid apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1525,7 +1541,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -1605,7 +1621,7 @@ Changelog apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1617,7 +1633,7 @@ Licentie apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1641,47 +1657,47 @@ Mijn Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Please enter your coupon code: Voer je couponcode in: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Kon je kortingscode niet inwisselen - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Je couponcode is ingewisseld - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Herladen - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Wil je deze aanmeldingsmethode echt verwijderen? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1691,10 +1707,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1704,128 +1716,128 @@ Membership Lidmaatschap - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Uitbreiden - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year per jaar - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Probeer Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Coupon inwisselen - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Presentatie weergave - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Basisvaluta - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Locale Locatie - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Datum- en getalnotatie - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Zen Mode Zen-modus - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 - - Sign in with fingerprint - Aanmelden met vingerafdruk + + Sign in with fingerprint + Aanmelden met vingerafdruk - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 User ID Gebruikers-ID - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Verleende toegang - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Toegang verlenen - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Openbaar - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -1841,7 +1853,7 @@ Rekening bijwerken apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -1849,7 +1861,7 @@ Rekening toevoegen apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -1865,15 +1877,15 @@ Valuta apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1893,11 +1905,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1909,11 +1921,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1921,7 +1933,7 @@ Rekening-ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -1973,7 +1985,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1993,7 +2005,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2173,7 +2185,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2199,6 +2211,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Update activity @@ -2293,11 +2309,11 @@ Opmerking apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2313,7 +2329,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2584,8 +2600,8 @@ Language Taal - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2593,7 +2609,7 @@ Aan de slag apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -2661,7 +2677,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2717,7 +2733,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2729,7 +2745,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -2896,16 +2912,16 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 Experimental Features Experimentele functies - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 @@ -2944,40 +2960,40 @@ Auto Automatisch - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Appearance Weergave - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Automatisch - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Licht - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Donker - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 @@ -3237,35 +3253,35 @@ Gemeenschap apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -3289,7 +3305,7 @@ Symbool toewijzen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -3325,7 +3341,7 @@ Account aanmaken apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -3393,7 +3409,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3432,8 +3448,8 @@ Valid until Geldig tot - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3484,28 +3500,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values - Bescherming voor gevoelige informatie zoals absoluut rendement en hoeveelheden + Bescherming voor gevoelige informatie zoals absoluut rendement en hoeveelheden - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times - Afleidingsvrije ervaring voor roerige tijden + Afleidingsvrije ervaring voor roerige tijden - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality - Voorproefje van nieuwe functionaliteit + Voorproefje van nieuwe functionaliteit - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3741,7 +3757,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3884,8 +3900,8 @@ Renew Vernieuw - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3977,7 +3993,7 @@ Wil je dit platform echt verwijderen? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4039,6 +4055,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4056,14 +4080,6 @@ 15 - - Set as Benchmark - Instellen als benchmark - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Beheer Benchmarks @@ -4133,7 +4149,7 @@ Persoonlijke financiën apps/client/src/app/app.component.html - 54 + 55 @@ -4141,7 +4157,7 @@ Veelgestelde Vragen apps/client/src/app/app.component.html - 75 + 76 @@ -4353,7 +4369,7 @@ Scraper instellingen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4491,6 +4507,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4603,6 +4627,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4715,6 +4747,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4827,6 +4867,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4939,6 +4987,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5155,6 +5219,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5371,6 +5451,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5587,6 +5683,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5807,6 +5919,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6023,6 +6151,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6239,6 +6383,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6455,6 +6615,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -6567,6 +6735,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6679,6 +6855,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6791,6 +6975,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6903,6 +7095,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7015,6 +7215,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7127,10 +7335,26 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 - - - Personal Finance Tools - Tools voor persoonlijke financiën + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + + Personal Finance Tools + Tools voor persoonlijke financiën + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 @@ -7444,8 +7668,8 @@ Biometric Authentication Biometrische authenticatie - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7528,8 +7752,8 @@ Export Data Exporteer Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7621,7 +7845,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7813,7 +8037,7 @@ Leden van over de hele wereld gebruikenGhostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7821,7 +8045,7 @@ Hoe Ghostfolio werkt? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7829,7 +8053,7 @@ Anoniem aanmelden* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7837,7 +8061,7 @@ * geen e-mailadres of creditcard nodig apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7845,7 +8069,7 @@ Voeg al je historische transacties toe apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7853,7 +8077,7 @@ Krijg waardevolle inzichten in de samenstelling van je portefeuille apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7861,7 +8085,7 @@ Ben je er klaar voor? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7869,7 +8093,7 @@ Nu lid worden of bekijk het voorbeeld account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7881,7 +8105,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7897,7 +8121,7 @@ Aan de slag in slechts 3 stappen apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7929,11 +8153,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7991,6 +8215,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8059,6 +8287,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8101,11 +8333,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8175,6 +8407,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8243,6 +8479,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8305,11 +8545,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8337,11 +8577,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8351,6 +8591,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8397,7 +8641,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8433,11 +8677,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8455,6 +8699,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8483,6 +8731,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8551,6 +8803,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8715,6 +8971,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8827,6 +9091,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8939,6 +9211,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9051,6 +9331,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9163,6 +9451,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9275,6 +9571,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9399,6 +9703,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9511,6 +9823,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9623,29 +9943,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Zwitserland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9653,15 +9981,15 @@ Wereldwijd apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9669,39 +9997,43 @@ Verenigde Staten apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium België apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9709,31 +10041,31 @@ Duitsland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9741,7 +10073,7 @@ Oostenrijk apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9749,7 +10081,7 @@ Italië apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9757,7 +10089,7 @@ Nederland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9765,7 +10097,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9773,7 +10105,7 @@ Nieuw-Zeeland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9781,11 +10113,11 @@ Tsjechië apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9909,7 +10241,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9933,11 +10265,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9953,7 +10285,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9961,7 +10293,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 19a8df179..f5050eab8 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -6,7 +6,7 @@ O risco de perda em investimentos pode ser substancial. Não é aconselhável investir dinheiro que possa vir a precisar a curto prazo. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -17,8 +17,8 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 @@ -38,15 +38,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -86,11 +86,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -106,11 +106,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -134,7 +134,7 @@ Nome apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -154,7 +154,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -174,7 +174,7 @@ Total apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -186,15 +186,15 @@ Moeda apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -214,11 +214,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -226,11 +226,15 @@ Valor apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -278,7 +282,7 @@ Editar apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -298,7 +302,7 @@ Eliminar apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -322,7 +326,7 @@ Pretende realmente eliminar esta conta? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -330,7 +334,7 @@ Símbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -338,7 +342,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -346,7 +350,7 @@ Fonte de dados apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -362,7 +366,7 @@ Tentativas apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -370,7 +374,7 @@ Criado apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -378,7 +382,7 @@ Terminado apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -386,7 +390,7 @@ Estado apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -394,7 +398,7 @@ Eliminar Tarefas apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -402,7 +406,7 @@ Perfil de Ativos apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -410,7 +414,7 @@ Histórico de Dados de Mercado apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -418,7 +422,7 @@ Visualizar dados apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -426,7 +430,7 @@ Ver Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -434,7 +438,7 @@ Apagar Tarefa apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -482,7 +486,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -496,9 +500,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -508,10 +520,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -522,7 +530,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -536,18 +544,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - Filter by... @@ -566,7 +574,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -586,7 +594,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -606,7 +614,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -618,7 +626,7 @@ Número de Atividades apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -678,7 +686,7 @@ Por favor, adicione uma moeda: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -686,7 +694,7 @@ Deseja realmente eliminar este cupão? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -694,7 +702,7 @@ Deseja realmente excluir esta moeda? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -702,7 +710,7 @@ Deseja realmente limpar a cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -710,7 +718,7 @@ Por favor, defina a sua mensagem do sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -718,7 +726,7 @@ Número de Utilizadores apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -726,7 +734,7 @@ por Utilizador apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -734,7 +742,7 @@ Taxas de Câmbio apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -742,7 +750,7 @@ Adicionar Moeda apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -750,7 +758,7 @@ Mensagem de Sistema apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -758,7 +766,7 @@ Definir Mensagem apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -766,7 +774,7 @@ Modo Somente Leitura apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -774,7 +782,7 @@ Cupões apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -782,7 +790,7 @@ Adicionar apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -790,7 +798,7 @@ Manutenção apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -798,7 +806,7 @@ Limpar Cache apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -818,7 +826,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -846,7 +854,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -930,7 +938,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -942,7 +950,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -954,7 +962,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -962,7 +970,7 @@ Recursos apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -970,7 +978,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -982,7 +990,7 @@ Preços apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -990,11 +998,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1110,7 +1126,7 @@ Sobre apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -1118,7 +1134,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -1126,7 +1142,7 @@ Eu apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -1134,7 +1150,7 @@ O meu Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -1142,7 +1158,7 @@ Sobre o Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1154,11 +1170,11 @@ Funcionalidades apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -1170,11 +1186,11 @@ Mercados apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -1190,7 +1206,7 @@ Iniciar sessão apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1202,7 +1218,7 @@ Começar apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -1210,7 +1226,7 @@ Iniciar sessão apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -1222,7 +1238,7 @@ Oops! Token de Segurança Incorreto. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -1346,7 +1362,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1501,7 +1517,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -1637,7 +1653,7 @@ Setor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1649,7 +1665,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -1665,7 +1681,7 @@ Setores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1681,7 +1697,7 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1837,7 +1853,7 @@ Changelog apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -1849,7 +1865,7 @@ Licença apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -1873,7 +1889,7 @@ Política de Privacidade apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1885,55 +1901,55 @@ O meu Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Please enter your coupon code: Por favor, insira o seu código de cupão: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Não foi possível resgatar o código de cupão - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Código de cupão foi resgatado - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Atualizar - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Deseja realmente remover este método de início de sessão? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 @@ -1943,10 +1959,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -1956,68 +1968,68 @@ Membership Filiação - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Upgrade Atualizar - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 per year por ano - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Experimentar Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Resgatar Cupão - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Vista do Apresentador - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 Base Currency Moeda Base - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Language Língua - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 @@ -2036,108 +2048,108 @@ Locale Localidade - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Formato de números e datas - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Zen Mode Modo Zen - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 Appearance Aparência - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Claro - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Escuro - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 - - Sign in with fingerprint - Iniciar sessão com impressão digital + + Sign in with fingerprint + Iniciar sessão com impressão digital - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 Experimental Features Funcionalidades Experimentais - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 User ID ID do Utilizador - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Granted Access Acesso Concedido - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 Grant access Conceder Acesso - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Público - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -2153,7 +2165,7 @@ Atualizar conta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -2161,7 +2173,7 @@ Adicionar conta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -2177,7 +2189,7 @@ ID da Conta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -2201,7 +2213,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -2309,7 +2321,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -2329,7 +2341,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2437,11 +2449,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2733,7 +2745,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -2759,6 +2771,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Pricing @@ -3277,7 +3293,7 @@ Mapeamento de Símbolo apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -3285,7 +3301,7 @@ Registo do Utilizador apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -3293,35 +3309,35 @@ Comunidade apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -3345,7 +3361,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3432,8 +3448,8 @@ Valid until Válido até - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 @@ -3484,28 +3500,28 @@ 23 - + Protection for sensitive information like absolute performances and quantity values - Proteção para informações sensíveis, como desempenhos absolutos e valores quantitativos + Proteção para informações sensíveis, como desempenhos absolutos e valores quantitativos - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 - + Distraction-free experience for turbulent times - Experiência sem distrações para tempos turbulentos + Experiência sem distrações para tempos turbulentos - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 - + Sneak peek at upcoming functionality - Acesso antecipado a funcionalidades futuras + Acesso antecipado a funcionalidades futuras - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 @@ -3741,7 +3757,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3884,8 +3900,8 @@ Renew Renovar - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 @@ -3977,7 +3993,7 @@ Deseja mesmo eliminar esta plataforma? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -4039,6 +4055,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Equity @@ -4056,14 +4080,6 @@ 15 - - Set as Benchmark - Definir como Referência - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Manage Benchmarks Gerir Referências @@ -4133,7 +4149,7 @@ Finanças pessoais apps/client/src/app/app.component.html - 54 + 55 @@ -4141,7 +4157,7 @@ Perguntas Frequentes (FAQ) apps/client/src/app/app.component.html - 75 + 76 @@ -4353,7 +4369,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -4491,6 +4507,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -4603,6 +4627,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -4715,6 +4747,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -4827,6 +4867,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -4939,6 +4987,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5155,6 +5219,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5371,6 +5451,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -5587,6 +5683,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -5807,6 +5919,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6023,6 +6151,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6239,6 +6383,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -6455,6 +6615,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -6567,6 +6735,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -6679,6 +6855,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -6791,6 +6975,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -6903,6 +7095,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Notes @@ -7015,6 +7215,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -7127,10 +7335,26 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 - - - Personal Finance Tools - Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + + Personal Finance Tools + Personal Finance Tools + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 @@ -7444,8 +7668,8 @@ Biometric Authentication Biometric Authentication - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 @@ -7528,8 +7752,8 @@ Export Data Export Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 @@ -7621,7 +7845,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -7813,7 +8037,7 @@ Members from around the globe are using Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -7821,7 +8045,7 @@ How does Ghostfolio work? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -7829,7 +8053,7 @@ Sign up anonymously* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -7837,7 +8061,7 @@ * no e-mail address nor credit card required apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -7845,7 +8069,7 @@ Add any of your historical transactions apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -7853,7 +8077,7 @@ Get valuable insights of your portfolio composition apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -7861,7 +8085,7 @@ Are you ready? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -7869,7 +8093,7 @@ Join now or check out the example account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -7881,7 +8105,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -7897,7 +8121,7 @@ Get started in only 3 steps apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -7929,11 +8153,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -7991,6 +8215,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -8059,6 +8287,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -8101,11 +8333,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -8175,6 +8407,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -8243,6 +8479,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -8305,11 +8545,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -8337,11 +8577,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -8351,6 +8591,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -8397,7 +8641,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -8433,11 +8677,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -8455,6 +8699,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -8483,6 +8731,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -8551,6 +8803,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -8715,6 +8971,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -8827,6 +9091,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -8939,6 +9211,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -9051,6 +9331,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Starting from / year @@ -9163,6 +9451,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -9275,6 +9571,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + open-source-alternative-to @@ -9399,6 +9703,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -9511,6 +9823,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Get Started @@ -9623,29 +9943,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Switzerland Switzerland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -9653,15 +9981,15 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -9669,39 +9997,43 @@ United States apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgium apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -9709,31 +10041,31 @@ Germany apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -9741,7 +10073,7 @@ Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -9749,7 +10081,7 @@ Italy apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -9757,7 +10089,7 @@ Netherlands apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -9765,7 +10097,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -9773,7 +10105,7 @@ New Zealand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -9781,11 +10113,11 @@ Czech Republic apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -9909,7 +10241,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9933,11 +10265,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9953,7 +10285,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9961,7 +10293,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 61cdc0972..6c9b733c5 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -26,11 +26,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -100,6 +100,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -168,6 +172,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -214,11 +222,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -276,6 +284,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -344,6 +356,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -390,11 +406,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -422,11 +438,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -436,6 +452,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -498,7 +518,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -534,11 +554,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -556,6 +576,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -584,6 +608,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -652,6 +680,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -678,7 +710,7 @@ Kişisel Finans apps/client/src/app/app.component.html - 54 + 55 @@ -686,11 +718,11 @@ Piyasalar apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -706,7 +738,7 @@ Piyasalar apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -714,7 +746,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -726,7 +758,7 @@ Hakkında apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -734,7 +766,7 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 @@ -742,7 +774,7 @@ Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -822,7 +854,7 @@ Değişiklik Günlüğü apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -834,11 +866,11 @@ Özellikler apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -850,7 +882,7 @@ Sıkça Sorulan Sorular (SSS) apps/client/src/app/app.component.html - 75 + 76 @@ -858,7 +890,7 @@ Lisans apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -870,7 +902,7 @@ Fiyatlandırma apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -878,11 +910,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -998,7 +1038,7 @@ Gizlilik Politikası apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1010,35 +1050,35 @@ Topluluk apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 @@ -1046,7 +1086,7 @@ Alım satımda kayıp riski büyük boyutta olabilir. Kısa vadede ihtiyaç duyabileceğiniz parayla yatırım yapmak tavsiye edilmez. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -1057,8 +1097,8 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 @@ -1078,15 +1118,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -1126,11 +1166,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1150,11 +1190,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1170,11 +1210,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1198,7 +1238,7 @@ Ad apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1218,7 +1258,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1238,7 +1278,7 @@ Toplam apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -1250,15 +1290,15 @@ Para Birimi apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1274,11 +1314,15 @@ Değer apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1326,7 +1370,7 @@ Düzenle apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1346,7 +1390,7 @@ Sil apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1370,7 +1414,7 @@ Bu hesabı silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 @@ -1378,7 +1422,7 @@ Sembol apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1386,7 +1430,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 @@ -1394,7 +1438,7 @@ Veri Kaynağı apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1410,7 +1454,7 @@ Deneme apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 @@ -1418,7 +1462,7 @@ Oluşturuldu apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 @@ -1426,7 +1470,7 @@ Tamamlandı apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 @@ -1434,7 +1478,7 @@ Durum apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 @@ -1442,7 +1486,7 @@ İşleri Sil apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 @@ -1450,7 +1494,7 @@ Varlık Profili apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 @@ -1458,7 +1502,7 @@ Tarihsel Piyasa Verisi apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 @@ -1466,7 +1510,7 @@ Veri Gör apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 @@ -1474,7 +1518,7 @@ Hata İzini Görüntüle apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 @@ -1482,7 +1526,7 @@ İşleri Sil apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -1530,7 +1574,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1544,9 +1588,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1556,10 +1608,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -1570,7 +1618,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1584,18 +1632,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - Currencies @@ -1638,7 +1686,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1658,7 +1706,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1678,7 +1726,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -1761,20 +1809,12 @@ 30 - - Set as Benchmark - Karşılaştırma Ölçütü Olarak Ayarla - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Sector Sektör apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1786,7 +1826,7 @@ Ülke apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -1802,7 +1842,7 @@ Sektörler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1818,7 +1858,7 @@ Ülkeler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1830,7 +1870,7 @@ Sembol Eşleştirme apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 @@ -1838,7 +1878,7 @@ Veri Toplayıcı Yapılandırması apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 @@ -1846,11 +1886,11 @@ Not apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1882,7 +1922,7 @@ Lütfen bir para birimi giriniz: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 @@ -1890,7 +1930,7 @@ Önbelleği temizlemeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 @@ -1898,7 +1938,7 @@ Bu para birimini silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 @@ -1906,7 +1946,7 @@ Önbelleği temizlemeyi gerçekten istiyor musunuz apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 @@ -1914,7 +1954,7 @@ Lütfen sistem mesajınızı belirleyin: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 @@ -1922,7 +1962,7 @@ Kullanıcı Sayısı apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 @@ -1930,7 +1970,7 @@ İşlem Sayısı apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 @@ -1938,7 +1978,7 @@ Kullanıcı başına apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 @@ -1946,7 +1986,7 @@ Döviz Kurları apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 @@ -1954,7 +1994,7 @@ Para Birimi Ekle apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -1978,7 +2018,7 @@ Kullanıcı Kaydı apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 @@ -1986,7 +2026,7 @@ Salt okunur mod apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 @@ -1994,7 +2034,7 @@ Sistem Mesajı apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 @@ -2002,7 +2042,7 @@ Mesaj Belirle apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 @@ -2010,7 +2050,7 @@ Kupon apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 @@ -2018,7 +2058,7 @@ Ekle apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 @@ -2026,7 +2066,7 @@ Genel Ayarlar apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 @@ -2034,7 +2074,7 @@ Önbelleği temizle apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -2074,7 +2114,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -2086,7 +2126,7 @@ Bu platformu silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -2130,7 +2170,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -2242,7 +2282,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -2254,7 +2294,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -2266,7 +2306,7 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 @@ -2274,7 +2314,7 @@ Ben apps/client/src/app/components/header/header.component.html - 145 + 170 @@ -2282,7 +2322,7 @@ Ghostfolio'm apps/client/src/app/components/header/header.component.html - 203 + 228 @@ -2290,7 +2330,7 @@ Ghostfolio Hakkında apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2302,7 +2342,7 @@ Giriş apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2314,7 +2354,7 @@ Haydi Başlayalım apps/client/src/app/components/header/header.component.html - 345 + 370 @@ -2322,7 +2362,7 @@ Giriş apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -2334,7 +2374,7 @@ Hay Allah! Güvenlik anahtarı yanlış. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -2526,7 +2566,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -2681,7 +2721,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -2837,7 +2877,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -3181,7 +3221,7 @@ Update account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 @@ -3189,7 +3229,7 @@ Add account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 @@ -3197,7 +3237,7 @@ Account ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -3243,6 +3283,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Users @@ -3265,7 +3313,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -3408,12 +3456,12 @@ Zen Mode Zen Mode - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 @@ -3469,7 +3517,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -3493,7 +3541,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3505,7 +3553,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3537,7 +3585,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -3557,7 +3605,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -3773,7 +3821,7 @@ Members from around the globe are using Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 @@ -3781,7 +3829,7 @@ How does Ghostfolio work? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 @@ -3789,7 +3837,7 @@ Get started in only 3 steps apps/client/src/app/pages/landing/landing-page.html - 371 + 376 @@ -3797,7 +3845,7 @@ Sign up anonymously* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 @@ -3805,7 +3853,7 @@ * no e-mail address nor credit card required apps/client/src/app/pages/landing/landing-page.html - 379 + 384 @@ -3813,7 +3861,7 @@ Add any of your historical transactions apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 @@ -3821,7 +3869,7 @@ Get valuable insights of your portfolio composition apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 @@ -3829,7 +3877,7 @@ Are you ready? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 @@ -3837,7 +3885,7 @@ Join now or check out the example account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -3955,10 +4003,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -4487,6 +4531,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Pricing @@ -4955,6 +5003,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -5067,6 +5123,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -5179,6 +5243,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -5291,6 +5363,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Founded @@ -5403,6 +5483,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -5515,6 +5603,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -5627,6 +5723,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -5739,6 +5843,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -5851,6 +5963,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -6067,6 +6195,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -6283,6 +6427,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -6499,6 +6659,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -6719,6 +6895,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6935,6 +7127,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -7151,6 +7359,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -7367,6 +7591,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -7479,6 +7711,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -7591,6 +7831,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -7703,6 +7951,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -7815,6 +8071,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Starting from / year @@ -7927,6 +8191,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -8039,6 +8311,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + Notes @@ -8151,6 +8431,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Please note that the information provided is based on our independent research and analysis. This website is not affiliated with 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. @@ -8263,6 +8551,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -8375,6 +8671,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -8487,6 +8791,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + Get Started @@ -8599,6 +8911,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Personal Finance Tools @@ -8711,29 +9031,37 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + Switzerland Switzerland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 @@ -8741,15 +9069,15 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 @@ -8757,39 +9085,43 @@ United States apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium Belgium apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 @@ -8797,31 +9129,31 @@ Germany apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 @@ -8829,7 +9161,7 @@ Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 @@ -8837,7 +9169,7 @@ Italy apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 @@ -8845,7 +9177,7 @@ Netherlands apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 @@ -8853,7 +9185,7 @@ Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 @@ -8861,7 +9193,7 @@ New Zealand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 @@ -8869,11 +9201,11 @@ Czech Republic apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -8904,16 +9236,16 @@ Grant access Grant access - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public Public - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 @@ -8921,259 +9253,259 @@ My Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Please enter your coupon code: Please enter your coupon code: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code Could not redeem coupon code - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed Coupon code has been redeemed - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload Reload - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? Do you really want to remove this sign in method? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 Membership Membership - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Valid until Valid until - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 Upgrade Upgrade - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 Renew Renew - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 per year per year - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 Try Premium Try Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon Redeem Coupon - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View Presenter View - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 - + Protection for sensitive information like absolute performances and quantity values Protection for sensitive information like absolute performances and quantity values - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 Base Currency Base Currency - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Language Language - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 Locale Locale - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format Date and number format - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Appearance Appearance - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto Auto - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light Light - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark Dark - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 - + Distraction-free experience for turbulent times Distraction-free experience for turbulent times - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 Biometric Authentication Biometric Authentication - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 - - Sign in with fingerprint - Sign in with fingerprint + + Sign in with fingerprint + Sign in with fingerprint - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 Experimental Features Experimental Features - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 - + Sneak peek at upcoming functionality Sneak peek at upcoming functionality - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 User ID User ID - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Export Data Export Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 Granted Access Granted Access - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 @@ -9909,7 +10241,7 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 @@ -9933,11 +10265,11 @@ France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9953,7 +10285,7 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 @@ -9961,7 +10293,115 @@ Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Transfer Cash Balance + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Benchmark + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Version + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + Settings + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + From + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 + + + + To + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Membership + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Access + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + Find holding... + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + No entries... + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 956a2ad85..512ad60e2 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -26,11 +26,11 @@ apps/client/src/app/components/header/header.component.ts - 46 + 71 apps/client/src/app/components/header/header.component.ts - 51 + 76 apps/client/src/app/pages/about/about-page.component.ts @@ -100,6 +100,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 25 @@ -168,6 +172,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 25 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 25 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 25 @@ -212,11 +220,11 @@ apps/client/src/app/components/header/header.component.ts - 47 + 72 apps/client/src/app/components/header/header.component.ts - 52 + 77 apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -274,6 +282,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 26 @@ -342,6 +354,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 26 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 26 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 26 @@ -386,11 +402,11 @@ apps/client/src/app/components/header/header.component.ts - 48 + 73 apps/client/src/app/components/header/header.component.ts - 53 + 78 apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -417,11 +433,11 @@ apps/client/src/app/components/header/header.component.ts - 49 + 74 apps/client/src/app/components/header/header.component.ts - 54 + 79 apps/client/src/app/components/home-summary/home-summary.component.ts @@ -431,6 +447,10 @@ apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts 14 + + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 37 + apps/client/src/app/core/http-response.interceptor.ts 80 @@ -491,7 +511,7 @@ apps/client/src/app/components/header/header.component.ts - 55 + 80 apps/client/src/app/core/auth.guard.ts @@ -526,11 +546,11 @@ apps/client/src/app/components/header/header.component.ts - 50 + 75 apps/client/src/app/components/header/header.component.ts - 56 + 81 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -548,6 +568,10 @@ apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts 14 + + apps/client/src/app/pages/features/features-page.component.ts + 18 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 14 @@ -576,6 +600,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/finary-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts 28 @@ -644,6 +672,10 @@ apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts 28 + + apps/client/src/app/pages/resources/personal-finance-tools/products/stockle-page.component.ts + 28 + apps/client/src/app/pages/resources/personal-finance-tools/products/stockmarketeye-page.component.ts 28 @@ -669,18 +701,18 @@ Personal Finance apps/client/src/app/app.component.html - 54 + 55 Markets apps/client/src/app/app.component.html - 57 + 58 apps/client/src/app/components/header/header.component.html - 320 + 345 apps/client/src/app/components/home-market/home-market.html @@ -695,7 +727,7 @@ Resources apps/client/src/app/app.component.html - 59 + 60 apps/client/src/app/components/header/header.component.html @@ -703,7 +735,7 @@ apps/client/src/app/components/header/header.component.html - 223 + 248 apps/client/src/app/pages/resources/resources-page.html @@ -714,7 +746,7 @@ About apps/client/src/app/app.component.html - 65 + 66 apps/client/src/app/components/header/header.component.html @@ -722,14 +754,14 @@ apps/client/src/app/components/header/header.component.html - 291 + 316 Blog apps/client/src/app/app.component.html - 67 + 68 apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -808,7 +840,7 @@ Changelog apps/client/src/app/app.component.html - 70 + 71 apps/client/src/app/pages/about/changelog/changelog-page.html @@ -819,11 +851,11 @@ Features apps/client/src/app/app.component.html - 72 + 73 apps/client/src/app/components/header/header.component.html - 278 + 303 apps/client/src/app/pages/features/features-page.html @@ -834,14 +866,14 @@ Frequently Asked Questions (FAQ) apps/client/src/app/app.component.html - 75 + 76 License apps/client/src/app/app.component.html - 79 + 80 apps/client/src/app/pages/about/license/license-page.html @@ -852,7 +884,7 @@ Pricing apps/client/src/app/app.component.html - 85 + 86 apps/client/src/app/components/header/header.component.html @@ -860,11 +892,19 @@ apps/client/src/app/components/header/header.component.html - 235 + 260 apps/client/src/app/components/header/header.component.html - 304 + 329 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 179 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -979,7 +1019,7 @@ Privacy Policy apps/client/src/app/app.component.html - 89 + 90 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -990,42 +1030,42 @@ Community apps/client/src/app/app.component.html - 104 + 105 - apps/client/src/app/pages/features/features-page.html - 259 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 61 - apps/client/src/app/pages/user-account/user-account-page.html - 144 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 65 - apps/client/src/app/pages/user-account/user-account-page.html - 148 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 69 - apps/client/src/app/pages/user-account/user-account-page.html - 152 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 73 - apps/client/src/app/pages/user-account/user-account-page.html - 156 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 77 - apps/client/src/app/pages/user-account/user-account-page.html - 160 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 81 - apps/client/src/app/pages/user-account/user-account-page.html - 164 + apps/client/src/app/pages/features/features-page.html + 259 The risk of loss in trading can be substantial. It is not advisable to invest money you may need in the short term. apps/client/src/app/app.component.html - 174,175 + 175,176 @@ -1035,8 +1075,8 @@ 15 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 6 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 11 @@ -1054,15 +1094,15 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html - 20 + 28 - apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html - 12 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 22 - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 17 + apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html + 12 libs/ui/src/lib/activities-table/activities-table.component.html @@ -1098,11 +1138,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 110 + 121 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 23 + 32 @@ -1120,11 +1160,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 65 + 76 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 36 + 44 @@ -1139,11 +1179,11 @@ apps/client/src/app/components/accounts-table/accounts-table.component.html - 93 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 88 + 81 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1166,7 +1206,7 @@ Name apps/client/src/app/components/accounts-table/accounts-table.component.html - 22 + 33 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1186,7 +1226,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 7 + 12 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1205,7 +1245,7 @@ Total apps/client/src/app/components/accounts-table/accounts-table.component.html - 38 + 49 libs/ui/src/lib/activities-table/activities-table.component.html @@ -1216,15 +1256,15 @@ Currency apps/client/src/app/components/accounts-table/accounts-table.component.html - 48 + 59 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 69 + 62 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 13 + 22 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1239,11 +1279,15 @@ Value apps/client/src/app/components/accounts-table/accounts-table.component.html - 145 + 156 apps/client/src/app/components/accounts-table/accounts-table.component.html - 180 + 191 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 31 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1290,7 +1334,7 @@ Edit apps/client/src/app/components/accounts-table/accounts-table.component.html - 246 + 257 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1309,7 +1353,7 @@ Delete apps/client/src/app/components/accounts-table/accounts-table.component.html - 254 + 265 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1332,14 +1376,14 @@ Do you really want to delete this account? apps/client/src/app/components/accounts-table/accounts-table.component.ts - 82 + 83 Symbol apps/client/src/app/components/admin-jobs/admin-jobs.html - 21 + 50 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1347,14 +1391,14 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 64 + 57 Data Source apps/client/src/app/components/admin-jobs/admin-jobs.html - 22 + 59 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1369,70 +1413,70 @@ Attempts apps/client/src/app/components/admin-jobs/admin-jobs.html - 23 + 68 Created apps/client/src/app/components/admin-jobs/admin-jobs.html - 24 + 77 Finished apps/client/src/app/components/admin-jobs/admin-jobs.html - 25 + 86 Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 26 + 95 Delete Jobs apps/client/src/app/components/admin-jobs/admin-jobs.html - 38 + 140 Asset Profile apps/client/src/app/components/admin-jobs/admin-jobs.html - 55 + 37 Historical Market Data apps/client/src/app/components/admin-jobs/admin-jobs.html - 60 + 42 View Data apps/client/src/app/components/admin-jobs/admin-jobs.html - 115 + 155 View Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 122 + 162 Delete Job apps/client/src/app/components/admin-jobs/admin-jobs.html - 125 + 165 @@ -1476,7 +1520,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 191 + 195 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1490,9 +1534,17 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 13 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 30 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 79 + 95 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 43 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1502,10 +1554,6 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 37 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 25 - Save @@ -1515,7 +1563,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 198 + 202 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1529,18 +1577,18 @@ apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html 20 + + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 37 + apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 86 + 102 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 364 - - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 32 - Currencies @@ -1578,7 +1626,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 93 + 86 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1597,7 +1645,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 102 + 95 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1616,7 +1664,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 79 + 72 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -1690,18 +1738,11 @@ 30 - - Set as Benchmark - - apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 - - Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 117 + 110 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1712,7 +1753,7 @@ Country apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 126 + 119 apps/client/src/app/components/admin-users/admin-users.html @@ -1727,7 +1768,7 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 132 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1742,7 +1783,7 @@ Countries apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 142 + 135 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1753,25 +1794,25 @@ Symbol Mapping apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 156 + 160 Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 167 + 171 Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 178 + 182 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 47 + 72 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1800,70 +1841,70 @@ Please add a currency: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 112 + 114 Do you really want to delete this coupon? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 126 + 128 Do you really want to delete this currency? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 139 + 141 Do you really want to flush the cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 156 + 158 Please set your system message: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 186 + 188 User Count apps/client/src/app/components/admin-overview/admin-overview.html - 7 + 13 Activity Count apps/client/src/app/components/admin-overview/admin-overview.html - 17 + 23 per User apps/client/src/app/components/admin-overview/admin-overview.html - 26 + 32 Exchange Rates apps/client/src/app/components/admin-overview/admin-overview.html - 31 + 37 Add Currency apps/client/src/app/components/admin-overview/admin-overview.html - 70 + 76 @@ -1885,56 +1926,56 @@ User Signup apps/client/src/app/components/admin-overview/admin-overview.html - 76 + 82 Read-only Mode apps/client/src/app/components/admin-overview/admin-overview.html - 86 + 92 System Message apps/client/src/app/components/admin-overview/admin-overview.html - 96 + 102 Set Message apps/client/src/app/components/admin-overview/admin-overview.html - 118 + 124 Coupons apps/client/src/app/components/admin-overview/admin-overview.html - 126 + 132 Add apps/client/src/app/components/admin-overview/admin-overview.html - 170 + 176 Housekeeping apps/client/src/app/components/admin-overview/admin-overview.html - 177 + 183 Flush Cache apps/client/src/app/components/admin-overview/admin-overview.html - 181 + 187 @@ -1971,7 +2012,7 @@ apps/client/src/app/components/header/header.component.html - 196 + 221 apps/client/src/app/pages/accounts/accounts-page.html @@ -1982,7 +2023,7 @@ Do you really want to delete this platform? apps/client/src/app/components/admin-platform/admin-platform.component.ts - 76 + 78 @@ -2021,7 +2062,7 @@ apps/client/src/app/components/header/header.component.html - 164 + 189 @@ -2121,7 +2162,7 @@ apps/client/src/app/components/header/header.component.html - 178 + 203 @@ -2132,7 +2173,7 @@ apps/client/src/app/components/header/header.component.html - 188 + 213 @@ -2143,28 +2184,28 @@ apps/client/src/app/components/header/header.component.html - 212 + 237 Me apps/client/src/app/components/header/header.component.html - 145 + 170 My Ghostfolio apps/client/src/app/components/header/header.component.html - 203 + 228 About Ghostfolio apps/client/src/app/components/header/header.component.html - 243 + 268 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2175,7 +2216,7 @@ Sign in apps/client/src/app/components/header/header.component.html - 333 + 358 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2186,14 +2227,14 @@ Get started apps/client/src/app/components/header/header.component.html - 345 + 370 Sign in apps/client/src/app/components/header/header.component.ts - 131 + 169 apps/client/src/app/pages/webauthn/webauthn-page-routing.module.ts @@ -2204,7 +2245,7 @@ Oops! Incorrect Security Token. apps/client/src/app/components/header/header.component.ts - 145 + 183 @@ -2375,7 +2416,7 @@ apps/client/src/app/pages/landing/landing-page.html - 430 + 435 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -2514,7 +2555,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 150 + 111 @@ -2655,7 +2696,7 @@ apps/client/src/app/pages/portfolio/fire/fire-page.html - 137 + 150 @@ -2967,21 +3008,21 @@ Update account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 2 + 7 Add account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 3 + 8 Account ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 68 + 89 @@ -3023,6 +3064,14 @@ apps/client/src/app/pages/admin/admin-page.component.ts 31 + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 17 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 34 + Users @@ -3043,7 +3092,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 44 + 33 apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -3169,12 +3218,12 @@ Zen Mode - apps/client/src/app/pages/features/features-page.html - 192 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 136 - apps/client/src/app/pages/user-account/user-account-page.html - 227 + apps/client/src/app/pages/features/features-page.html + 192 @@ -3224,7 +3273,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 49 + 38 apps/client/src/app/pages/portfolio/holdings/holdings-page-routing.module.ts @@ -3247,7 +3296,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 54 + 43 @@ -3258,7 +3307,7 @@ apps/client/src/app/pages/home/home-page.component.ts - 59 + 48 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3294,7 +3343,7 @@ apps/client/src/app/pages/landing/landing-page.html - 426,428 + 431,433 @@ -3312,7 +3361,7 @@ apps/client/src/app/pages/landing/landing-page.html - 431 + 436 @@ -3502,63 +3551,63 @@ Members from around the globe are using Ghostfolio Premium apps/client/src/app/pages/landing/landing-page.html - 353,355 + 358,360 How does Ghostfolio work? apps/client/src/app/pages/landing/landing-page.html - 368,370 + 373,375 Get started in only 3 steps apps/client/src/app/pages/landing/landing-page.html - 371 + 376 Sign up anonymously* apps/client/src/app/pages/landing/landing-page.html - 377 + 382 * no e-mail address nor credit card required apps/client/src/app/pages/landing/landing-page.html - 379 + 384 Add any of your historical transactions apps/client/src/app/pages/landing/landing-page.html - 390,392 + 395,397 Get valuable insights of your portfolio composition apps/client/src/app/pages/landing/landing-page.html - 402,404 + 407,409 Are you ready? apps/client/src/app/pages/landing/landing-page.html - 414 + 419 Join now or check out the example account apps/client/src/app/pages/landing/landing-page.html - 415,418 + 420,423 @@ -3688,10 +3737,6 @@ apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 75 - - apps/client/src/app/pages/user-account/user-account-page.html - 4 - libs/ui/src/lib/activities-table/activities-table.component.html 379 @@ -4164,6 +4209,10 @@ apps/client/src/app/pages/public/public-page.html 14 + + libs/ui/src/lib/assistant/assistant.html + 46 + Pricing @@ -4320,12 +4369,12 @@ per year - apps/client/src/app/pages/pricing/pricing-page.html - 332 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 41 - apps/client/src/app/pages/user-account/user-account-page.html - 56 + apps/client/src/app/pages/pricing/pricing-page.html + 332 @@ -4604,6 +4653,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 8 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 8 + Are you looking for an open source alternative to ? 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. @@ -4715,6 +4772,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 13,25 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 13,25 + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. @@ -4826,6 +4891,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 26,36 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 26,36 + Let’s dive deeper into the detailed comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. @@ -4937,6 +5010,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 37,43 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 37,43 + Founded @@ -5048,6 +5129,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 63 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 63 + Origin @@ -5159,6 +5248,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 68 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 68 + Region @@ -5270,6 +5367,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 73 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 73 + Available in @@ -5381,6 +5486,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 78,80 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 78,80 + ✅ Yes @@ -5492,6 +5605,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 100 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 100 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 107 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 107 @@ -5708,6 +5837,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 121 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 121 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 132 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 132 @@ -5924,6 +6069,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 146 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 146 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 153 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 153 @@ -6140,6 +6301,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 165 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 165 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 172 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 172 @@ -6359,6 +6536,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 102 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 102 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 125 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 125 @@ -6575,6 +6768,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 136 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 136 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 148 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 148 @@ -6791,6 +7000,22 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 155 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 155 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 167 + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 167 @@ -7007,6 +7232,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 174 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 174 + ❌ No @@ -7118,6 +7351,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 109,110 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 109,110 + Self-Hosting @@ -7229,6 +7470,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 114,116 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 114,116 + Use anonymously @@ -7340,6 +7589,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 141,143 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 141,143 + Free Plan @@ -7451,6 +7708,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 160,162 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 160,162 + Starting from / year @@ -7562,6 +7827,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 180,182 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 180,182 + Starting from / year @@ -7673,6 +7946,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 185,186 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 185,186 + Notes @@ -7784,6 +8065,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 191 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 191 + Please note that the information provided is based on our independent research and analysis. This website is not affiliated with 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. @@ -7895,6 +8184,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 199,208 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 199,208 + Ready to take your investments to the next level? @@ -8006,6 +8303,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 211,214 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 211,214 + Effortlessly track, analyze, and visualize your wealth with Ghostfolio. @@ -8117,6 +8422,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 215,218 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 215,218 + Get Started @@ -8228,6 +8541,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 220,222 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 220,222 + Personal Finance Tools @@ -8339,158 +8660,170 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html 287 + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + + + apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html + 287 + Switzerland apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 49 + 51 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 61 + 63 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 333 + 351 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 344 + 362 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 345 + 363 Global apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 51 + 53 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 182 + 193 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 283 + 294 United States apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 80 + 82 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 114 + 116 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 168 + 126 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 193 + 179 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 195 + 204 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 259 + 206 apps/client/src/app/pages/resources/personal-finance-tools/products.ts 270 + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 281 + Belgium apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 92 + 94 Germany apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 69 + 71 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 103 + 105 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 137 + 148 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 147 + 158 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 157 + 168 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 180 + 191 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 215 + 226 Austria apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 125 + 136 Italy apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 226 + 237 Netherlands apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 236 + 247 Thailand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 248 + 259 New Zealand apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 281 + 292 Czech Republic apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 292 + 303 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 322 + 340 @@ -8517,232 +8850,232 @@ Grant access - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 2 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 7 Public - apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html - 19 + apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html + 24 My Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 12 + 32 Auto - apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 35 Please enter your coupon code: - apps/client/src/app/pages/user-account/user-account-page.component.ts - 263 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 110 Could not redeem coupon code - apps/client/src/app/pages/user-account/user-account-page.component.ts - 273 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 120 Coupon code has been redeemed - apps/client/src/app/pages/user-account/user-account-page.component.ts - 285 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 132 Reload - apps/client/src/app/pages/user-account/user-account-page.component.ts - 286 + apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + 133 Do you really want to remove this sign in method? - apps/client/src/app/pages/user-account/user-account-page.component.ts - 332 + apps/client/src/app/components/user-account-settings/user-account-settings.component.ts + 184 Membership - apps/client/src/app/pages/user-account/user-account-page.html - 12 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 2 Valid until - apps/client/src/app/pages/user-account/user-account-page.html - 24 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 17 Upgrade - apps/client/src/app/pages/user-account/user-account-page.html - 39 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 26 Renew - apps/client/src/app/pages/user-account/user-account-page.html - 44 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 29 Try Premium - apps/client/src/app/pages/user-account/user-account-page.html - 64 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 49 Redeem Coupon - apps/client/src/app/pages/user-account/user-account-page.html - 77 + apps/client/src/app/components/user-account-membership/user-account-membership.html + 62 Presenter View - apps/client/src/app/pages/user-account/user-account-page.html - 84 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 7 - + Protection for sensitive information like absolute performances and quantity values - apps/client/src/app/pages/user-account/user-account-page.html - 85,88 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 8,11 Base Currency - apps/client/src/app/pages/user-account/user-account-page.html - 103 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 26 Language - apps/client/src/app/pages/user-account/user-account-page.html - 127 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 47 Locale - apps/client/src/app/pages/user-account/user-account-page.html - 173 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 90 Date and number format - apps/client/src/app/pages/user-account/user-account-page.html - 175 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 92 Appearance - apps/client/src/app/pages/user-account/user-account-page.html - 201 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 113 Auto - apps/client/src/app/pages/user-account/user-account-page.html - 216 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 125 Light - apps/client/src/app/pages/user-account/user-account-page.html - 217 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 126 Dark - apps/client/src/app/pages/user-account/user-account-page.html - 218 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 127 - + Distraction-free experience for turbulent times - apps/client/src/app/pages/user-account/user-account-page.html - 228,230 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 137,139 Biometric Authentication - apps/client/src/app/pages/user-account/user-account-page.html - 243 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 152 - - Sign in with fingerprint + + Sign in with fingerprint - apps/client/src/app/pages/user-account/user-account-page.html - 244,246 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 153 Experimental Features - apps/client/src/app/pages/user-account/user-account-page.html - 262 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 169 - + Sneak peek at upcoming functionality - apps/client/src/app/pages/user-account/user-account-page.html - 263,265 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 170,172 User ID - apps/client/src/app/pages/user-account/user-account-page.html - 277 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 184 Export Data - apps/client/src/app/pages/user-account/user-account-page.html - 284 + apps/client/src/app/components/user-account-settings/user-account-settings.html + 191 Granted Access - apps/client/src/app/pages/user-account/user-account-page.html - 295 + apps/client/src/app/components/user-account-access/user-account-access.html + 5 @@ -9358,18 +9691,18 @@ Do you really want to delete this tag? apps/client/src/app/components/admin-tag/admin-tag.component.ts - 76 + 78 France apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 303 + 314 apps/client/src/app/pages/resources/personal-finance-tools/products.ts - 312 + 330 @@ -9397,14 +9730,110 @@ Currency Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 111 + 124 Account Cluster Risks apps/client/src/app/pages/portfolio/fire/fire-page.html - 124 + 137 + + + + Benchmark + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 154 + + + + Settings + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 2 + + + + Membership + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 22 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 39 + + + + Find holding... + + libs/ui/src/lib/assistant/assistant.component.ts + 87 + + + + Transfer Cash Balance + + apps/client/src/app/components/accounts-table/accounts-table.component.html + 8 + + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 7 + + + + Access + + apps/client/src/app/pages/user-account/user-account-page-routing.module.ts + 27 + + + apps/client/src/app/pages/user-account/user-account-page.component.ts + 45 + + + + To + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 21 + + + + Transfer + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 50 + + + + Finland + + apps/client/src/app/pages/resources/personal-finance-tools/products.ts + 322 + + + + Version + + apps/client/src/app/components/admin-overview/admin-overview.html + 7 + + + + No entries... + + libs/ui/src/lib/assistant/assistant.html + 62 + + + + From + + apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html + 11 From 3b5a34f6f30bfd3c03cd0ee1b693ea98baedd47c Mon Sep 17 00:00:00 2001 From: Aldrin <53973174+Dhoni77@users.noreply.github.com> Date: Wed, 11 Oct 2023 13:27:35 +0530 Subject: [PATCH 08/47] Use fab-button in access management tab (#2456) * Use fab-button in access management tab * Refactor fab container * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + .../access-table/access-table.component.html | 12 ------------ .../access-table/access-table.component.ts | 1 - .../admin-market-data/admin-market-data.scss | 7 ------- .../user-account-access/user-account-access.html | 12 +++++++++++- .../user-account-access.module.ts | 2 ++ .../client/src/app/pages/accounts/accounts-page.scss | 7 ------- .../pages/portfolio/activities/activities-page.scss | 7 ------- apps/client/src/styles.scss | 11 +++++++++++ 9 files changed, 25 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b51ced82a..12254fd9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Harmonized the style of the create button on the page for granting and revoking public access to share the portfolio - Improved the language localization for German (`de`) ## 2.10.0 - 2023-10-09 diff --git a/apps/client/src/app/components/access-table/access-table.component.html b/apps/client/src/app/components/access-table/access-table.component.html index 498e73bf0..589c67e1f 100644 --- a/apps/client/src/app/components/access-table/access-table.component.html +++ b/apps/client/src/app/components/access-table/access-table.component.html @@ -1,15 +1,3 @@ - - diff --git a/apps/client/src/app/components/access-table/access-table.component.ts b/apps/client/src/app/components/access-table/access-table.component.ts index 298a02069..c0db8fb2f 100644 --- a/apps/client/src/app/components/access-table/access-table.component.ts +++ b/apps/client/src/app/components/access-table/access-table.component.ts @@ -19,7 +19,6 @@ import { Access } from '@ghostfolio/common/interfaces'; }) export class AccessTableComponent implements OnChanges, OnInit { @Input() accesses: Access[]; - @Input() hasPermissionToCreateAccess = false; @Input() showActions: boolean; @Output() accessDeleted = new EventEmitter(); diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.scss b/apps/client/src/app/components/admin-market-data/admin-market-data.scss index 50901445b..b5b58f67e 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.scss +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.scss @@ -2,11 +2,4 @@ :host { display: block; - - .fab-container { - bottom: 2rem; - position: fixed; - right: 2rem; - z-index: 999; - } } diff --git a/apps/client/src/app/components/user-account-access/user-account-access.html b/apps/client/src/app/components/user-account-access/user-account-access.html index c3aa485cd..392337a83 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.html +++ b/apps/client/src/app/components/user-account-access/user-account-access.html @@ -10,8 +10,18 @@ +
+ + + +
diff --git a/apps/client/src/app/components/user-account-access/user-account-access.module.ts b/apps/client/src/app/components/user-account-access/user-account-access.module.ts index 76495db63..0388dd244 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.module.ts +++ b/apps/client/src/app/components/user-account-access/user-account-access.module.ts @@ -7,6 +7,7 @@ import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfCreateOrUpdateAccessDialogModule } from './create-or-update-access-dialog/create-or-update-access-dialog.module'; import { UserAccountAccessComponent } from './user-account-access.component'; +import { MatButtonModule } from '@angular/material/button'; @NgModule({ declarations: [UserAccountAccessComponent], @@ -16,6 +17,7 @@ import { UserAccountAccessComponent } from './user-account-access.component'; GfCreateOrUpdateAccessDialogModule, GfPortfolioAccessTableModule, GfPremiumIndicatorModule, + MatButtonModule, MatDialogModule, RouterModule ] diff --git a/apps/client/src/app/pages/accounts/accounts-page.scss b/apps/client/src/app/pages/accounts/accounts-page.scss index 307bf0f32..32e9fe146 100644 --- a/apps/client/src/app/pages/accounts/accounts-page.scss +++ b/apps/client/src/app/pages/accounts/accounts-page.scss @@ -4,11 +4,4 @@ .accounts { overflow-x: auto; } - - .fab-container { - position: fixed; - right: 2rem; - bottom: 2rem; - z-index: 999; - } } diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.scss b/apps/client/src/app/pages/portfolio/activities/activities-page.scss index c10640da3..5d4e87f30 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.scss +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.scss @@ -1,10 +1,3 @@ :host { display: block; - - .fab-container { - position: fixed; - right: 2rem; - bottom: 2rem; - z-index: 999; - } } diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index 26f8a4a48..8e79de778 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -491,6 +491,13 @@ ngx-skeleton-loader { flex-direction: column; overflow-y: auto; + .fab-container { + bottom: 2rem; + position: fixed; + right: 2rem; + z-index: 999; + } + &:not(.has-tabs) { @media (min-width: 576px) { padding: 2rem 0; @@ -502,6 +509,10 @@ ngx-skeleton-loader { padding-bottom: env(safe-area-inset-bottom); padding-bottom: constant(safe-area-inset-bottom); + .fab-container { + bottom: 5rem; + } + .mat-mdc-tab-nav-bar { --mat-tab-header-active-focus-indicator-color: transparent; --mat-tab-header-active-hover-indicator-color: transparent; From fb3cd4b689385bc28af9cd8b5831f0c10560c339 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 11 Oct 2023 09:58:18 +0200 Subject: [PATCH 09/47] Remove icon (#2467) --- .../app/components/admin-jobs/admin-jobs.html | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.html b/apps/client/src/app/components/admin-jobs/admin-jobs.html index 0fb95a26a..55224b51c 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.html +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -28,20 +28,15 @@ Type
From 5db984ffef13118b219ad2638196f6caa68ab1af Mon Sep 17 00:00:00 2001 From: Aldrin <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:51:00 +0530 Subject: [PATCH 10/47] Add date column to benchmark component (#2466) * Add date column to benchmark component --- .../lib/benchmark/benchmark.component.html | 27 +++++++++++++++---- .../src/lib/benchmark/benchmark.component.ts | 2 +- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/libs/ui/src/lib/benchmark/benchmark.component.html b/libs/ui/src/lib/benchmark/benchmark.component.html index e395553ec..33cf72389 100644 --- a/libs/ui/src/lib/benchmark/benchmark.component.html +++ b/libs/ui/src/lib/benchmark/benchmark.component.html @@ -6,14 +6,33 @@ + + + + + - - diff --git a/libs/ui/src/lib/benchmark/benchmark.component.ts b/libs/ui/src/lib/benchmark/benchmark.component.ts index a5c117c24..b9f1dd25b 100644 --- a/libs/ui/src/lib/benchmark/benchmark.component.ts +++ b/libs/ui/src/lib/benchmark/benchmark.component.ts @@ -18,7 +18,7 @@ export class BenchmarkComponent implements OnChanges { @Input() benchmarks: Benchmark[]; @Input() locale: string; - public displayedColumns = ['name', 'change', 'marketCondition']; + public displayedColumns = ['name', 'date', 'change', 'marketCondition']; public resolveMarketCondition = resolveMarketCondition; public constructor() {} From 3905782ad6aad7b0a6a43c8b9c759055ba2fc253 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 13 Oct 2023 19:49:30 +0200 Subject: [PATCH 11/47] Fix fab-container (#2476) --- apps/client/src/styles.scss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index 8e79de778..36099a249 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -510,7 +510,9 @@ ngx-skeleton-loader { padding-bottom: constant(safe-area-inset-bottom); .fab-container { - bottom: 5rem; + @media (max-width: 575.98px) { + bottom: 5rem; + } } .mat-mdc-tab-nav-bar { From 86344635973ebe5fed279cc8dda9ad11508c696e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 13 Oct 2023 19:50:06 +0200 Subject: [PATCH 12/47] Feature/upgrade prisma to version 5.4.2 (#2477) * Upgrade prisma to version 5.4.2 * Update changelog --- CHANGELOG.md | 1 + package.json | 4 ++-- yarn.lock | 36 ++++++++++++++++++------------------ 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12254fd9f..a13ad1b68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Harmonized the style of the create button on the page for granting and revoking public access to share the portfolio - Improved the language localization for German (`de`) +- Upgraded `prisma` from version `5.3.1` to `5.4.2` ## 2.10.0 - 2023-10-09 diff --git a/package.json b/package.json index bbbb99907..0f75e6df4 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@nestjs/platform-express": "10.1.3", "@nestjs/schedule": "3.0.2", "@nestjs/serve-static": "4.0.0", - "@prisma/client": "5.3.1", + "@prisma/client": "5.4.2", "@simplewebauthn/browser": "5.2.1", "@simplewebauthn/server": "5.2.1", "@stripe/stripe-js": "1.47.0", @@ -122,7 +122,7 @@ "passport": "0.6.0", "passport-google-oauth20": "2.0.0", "passport-jwt": "4.0.0", - "prisma": "5.3.1", + "prisma": "5.4.2", "reflect-metadata": "0.1.13", "rxjs": "7.5.6", "stripe": "11.12.0", diff --git a/yarn.lock b/yarn.lock index 69f995b5d..aede5f1be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4293,22 +4293,22 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@prisma/client@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.3.1.tgz#fc7fc2d91e814cc4fe18a4bc5e78bf851c26985e" - integrity sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q== +"@prisma/client@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.4.2.tgz#786f9c1d8f06d955933004ac638d14da4bf14025" + integrity sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA== dependencies: - "@prisma/engines-version" "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" + "@prisma/engines-version" "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574" -"@prisma/engines-version@5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59": - version "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz#7eb6f5c6b7628b8b39df55c903f411528a6f761c" - integrity sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w== +"@prisma/engines-version@5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574": + version "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574.tgz#ff14f2926890edee47e8f1d08df7b4f392ee34bf" + integrity sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA== -"@prisma/engines@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.3.1.tgz#53cc72a5ed176dc27d22305fe5569c64cc78b381" - integrity sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA== +"@prisma/engines@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.4.2.tgz#ba2b7faeb227c76e423e88f962afe6a031319f3f" + integrity sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g== "@radix-ui/number@1.0.1": version "1.0.1" @@ -15918,12 +15918,12 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== -prisma@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.3.1.tgz#a0932c1c1a5ed4ff449d064b193d9c7e94e8bf77" - integrity sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A== +prisma@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.4.2.tgz#7eac9276439ec7073ec697c6c0dfa259d96e955e" + integrity sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg== dependencies: - "@prisma/engines" "5.3.1" + "@prisma/engines" "5.4.2" prismjs@^1.28.0: version "1.29.0" From 827270704af33417b3c87592cf8feeef02a88c44 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 13 Oct 2023 19:51:02 +0200 Subject: [PATCH 13/47] Bugfix/fix import for activities of type fee and interest (#2474) * Fix import for activities of type fee and interest * Update changelog --- CHANGELOG.md | 4 ++++ .../src/app/services/import-activities.service.ts | 4 ++++ test/import/ok.csv | 11 ++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a13ad1b68..e8f1c342a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the language localization for German (`de`) - Upgraded `prisma` from version `5.3.1` to `5.4.2` +### Fixed + +- Fixed `FEE` and `INTEREST` types in the activities import of `csv` files + ## 2.10.0 - 2023-10-09 ### Added diff --git a/apps/client/src/app/services/import-activities.service.ts b/apps/client/src/app/services/import-activities.service.ts index 0a58e3cdd..760871922 100644 --- a/apps/client/src/app/services/import-activities.service.ts +++ b/apps/client/src/app/services/import-activities.service.ts @@ -337,6 +337,10 @@ export class ImportActivitiesService { return Type.BUY; case 'dividend': return Type.DIVIDEND; + case 'fee': + return Type.FEE; + case 'interest': + return Type.INTEREST; case 'item': return Type.ITEM; case 'liability': diff --git a/test/import/ok.csv b/test/import/ok.csv index 9f1f1c768..8be69ee90 100644 --- a/test/import/ok.csv +++ b/test/import/ok.csv @@ -1,5 +1,6 @@ -Date,Code,Currency,Price,Quantity,Action,Fee,Note -16-09-2021,MSFT,USD,298.580,5,buy,19.00,My first order 🤓 -17/11/2021,MSFT,USD,0.62,5,dividend,0.00 -01.01.2022,Penthouse Apartment,USD,500000.0,1,item,0.00 -20500606,MSFT,USD,0.00,0,buy,0.00 +Date,Code,DataSource,Currency,Price,Quantity,Action,Fee,Note +01-09-2021,Account Opening Fee,MANUAL,USD,0,0,fee,49, +16-09-2021,MSFT,YAHOO,USD,298.580,5,buy,19.00,My first order 🤓 +17/11/2021,MSFT,YAHOO,USD,0.62,5,dividend,0.00 +01.01.2022,Penthouse Apartment,MANUAL,USD,500000.0,1,item,0.00 +20500606,MSFT,YAHOO,USD,0.00,0,buy,0.00 From 0ac97bd112f39b0702fe4ec41d21ee3193f8e8e0 Mon Sep 17 00:00:00 2001 From: Aldrin <53973174+Dhoni77@users.noreply.github.com> Date: Sat, 14 Oct 2023 01:16:49 +0530 Subject: [PATCH 14/47] Transfer cash balance between accounts (#2455) * Transfer cash balance between accounts * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + .../api/src/app/account/account.controller.ts | 53 +++++++++++++++++++ apps/api/src/app/account/account.service.ts | 6 +-- .../accounts-table.component.html | 2 +- .../pages/accounts/accounts-page.component.ts | 13 +++-- apps/client/src/app/services/data.service.ts | 13 +++++ 6 files changed, 81 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8f1c342a..8bff6b300 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added support to transfer a part of the cash balance from one to another account - Extended the markets overview by benchmarks (date of last all time high) ### Changed diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index bf15d998f..05d0c11de 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -29,6 +29,7 @@ import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AccountService } from './account.service'; import { CreateAccountDto } from './create-account.dto'; +import { TransferBalanceDto } from './transfer-balance.dto'; import { UpdateAccountDto } from './update-account.dto'; @Controller('account') @@ -154,6 +155,58 @@ export class AccountController { } } + @Post('transfer-balance') + @UseGuards(AuthGuard('jwt')) + public async transferAccountBalance( + @Body() { accountIdFrom, accountIdTo, balance }: TransferBalanceDto + ) { + if ( + !hasPermission(this.request.user.permissions, permissions.updateAccount) + ) { + throw new HttpException( + getReasonPhrase(StatusCodes.FORBIDDEN), + StatusCodes.FORBIDDEN + ); + } + + const accountsOfUser = await this.accountService.getAccounts( + this.request.user.id + ); + + const currentAccountIds = accountsOfUser.map(({ id }) => { + return id; + }); + + if ( + ![accountIdFrom, accountIdTo].every((accountId) => { + return currentAccountIds.includes(accountId); + }) + ) { + throw new HttpException( + getReasonPhrase(StatusCodes.NOT_FOUND), + StatusCodes.NOT_FOUND + ); + } + + const { currency } = accountsOfUser.find(({ id }) => { + return id === accountIdFrom; + }); + + await this.accountService.updateAccountBalance({ + currency, + accountId: accountIdFrom, + amount: -balance, + userId: this.request.user.id + }); + + await this.accountService.updateAccountBalance({ + currency, + accountId: accountIdTo, + amount: balance, + userId: this.request.user.id + }); + } + @Put(':id') @UseGuards(AuthGuard('jwt')) public async update(@Param('id') id: string, @Body() data: UpdateAccountDto) { diff --git a/apps/api/src/app/account/account.service.ts b/apps/api/src/app/account/account.service.ts index dc049108c..bc6abcc7a 100644 --- a/apps/api/src/app/account/account.service.ts +++ b/apps/api/src/app/account/account.service.ts @@ -109,7 +109,7 @@ export class AccountService { }); } - public async getAccounts(aUserId: string) { + public async getAccounts(aUserId: string): Promise { const accounts = await this.accounts({ include: { Order: true, Platform: true }, orderBy: { name: 'asc' }, @@ -218,13 +218,13 @@ export class AccountService { accountId, amount, currency, - date, + date = new Date(), userId }: { accountId: string; amount: number; currency: string; - date: Date; + date?: Date; userId: string; }) { const { balance, currency: currencyOfAccount } = await this.account({ diff --git a/apps/client/src/app/components/accounts-table/accounts-table.component.html b/apps/client/src/app/components/accounts-table/accounts-table.component.html index 664694735..a4548c1b9 100644 --- a/apps/client/src/app/components/accounts-table/accounts-table.component.html +++ b/apps/client/src/app/components/accounts-table/accounts-table.component.html @@ -1,4 +1,4 @@ -
+
From b6101c6375dfb5c14ef391bd950d5b171d594413 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 14 Oct 2023 19:06:27 +0200 Subject: [PATCH 17/47] Feature/import historical data (#2448) * Import historical data for an asset * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + apps/api/src/app/admin/admin.controller.ts | 38 +++++++++++++++++++ .../app/admin/update-bulk-market-data.dto.ts | 11 ++++++ .../src/app/admin/update-market-data.dto.ts | 6 ++- .../admin-market-data-detail.component.ts | 2 +- .../admin-market-data.component.ts | 2 +- .../asset-profile-dialog.component.ts | 34 +++++++++++++++++ .../asset-profile-dialog.html | 30 +++++++++++++++ apps/client/src/app/services/admin.service.ts | 15 ++++++++ 9 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 apps/api/src/app/admin/update-bulk-market-data.dto.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 25921fc92..17b60924b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added support to transfer a part of the cash balance from one to another account - Extended the markets overview by benchmarks (date of last all time high) +- Added support to import historical market data in the admin control panel ### Changed diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 67e106ff8..2d6022221 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -43,6 +43,7 @@ import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AdminService } from './admin.service'; import { UpdateAssetProfileDto } from './update-asset-profile.dto'; +import { UpdateBulkMarketDataDto } from './update-bulk-market-data.dto'; import { UpdateMarketDataDto } from './update-market-data.dto'; @Controller('admin') @@ -313,6 +314,43 @@ export class AdminController { return this.adminService.getMarketDataBySymbol({ dataSource, symbol }); } + @Post('market-data/:dataSource/:symbol') + @UseGuards(AuthGuard('jwt')) + public async updateMarketData( + @Body() data: UpdateBulkMarketDataDto, + @Param('dataSource') dataSource: DataSource, + @Param('symbol') symbol: string + ) { + if ( + !hasPermission( + this.request.user.permissions, + permissions.accessAdminControl + ) + ) { + throw new HttpException( + getReasonPhrase(StatusCodes.FORBIDDEN), + StatusCodes.FORBIDDEN + ); + } + + const dataBulkUpdate: Prisma.MarketDataUpdateInput[] = data.marketData.map( + ({ date, marketPrice }) => ({ + dataSource, + date, + marketPrice, + symbol, + state: 'CLOSE' + }) + ); + + return this.marketDataService.updateMany({ + data: dataBulkUpdate + }); + } + + /** + * @deprecated + */ @Put('market-data/:dataSource/:symbol/:dateString') @UseGuards(AuthGuard('jwt')) public async update( diff --git a/apps/api/src/app/admin/update-bulk-market-data.dto.ts b/apps/api/src/app/admin/update-bulk-market-data.dto.ts new file mode 100644 index 000000000..5177263a6 --- /dev/null +++ b/apps/api/src/app/admin/update-bulk-market-data.dto.ts @@ -0,0 +1,11 @@ +import { Type } from 'class-transformer'; +import { ArrayNotEmpty, IsArray, isNotEmptyObject } from 'class-validator'; + +import { UpdateMarketDataDto } from './update-market-data.dto'; + +export class UpdateBulkMarketDataDto { + @ArrayNotEmpty() + @IsArray() + @Type(() => UpdateMarketDataDto) + marketData: UpdateMarketDataDto[]; +} diff --git a/apps/api/src/app/admin/update-market-data.dto.ts b/apps/api/src/app/admin/update-market-data.dto.ts index 79779a318..c0463de31 100644 --- a/apps/api/src/app/admin/update-market-data.dto.ts +++ b/apps/api/src/app/admin/update-market-data.dto.ts @@ -1,6 +1,10 @@ -import { IsNumber } from 'class-validator'; +import { IsDate, IsNumber, IsOptional } from 'class-validator'; export class UpdateMarketDataDto { + @IsDate() + @IsOptional() + date?: Date; + @IsNumber() marketPrice: number; } diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts index cff078e37..0b3123b5c 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts @@ -177,7 +177,7 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit { dialogRef .afterClosed() .pipe(takeUntil(this.unsubscribeSubject)) - .subscribe(({ withRefresh }) => { + .subscribe(({ withRefresh } = { withRefresh: false }) => { this.marketDataChanged.next(withRefresh); }); } diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts index 7896db655..0ffa77bf0 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts @@ -342,7 +342,7 @@ export class AdminMarketDataComponent dialogRef .afterClosed() .pipe(takeUntil(this.unsubscribeSubject)) - .subscribe(({ dataSource, symbol }) => { + .subscribe(({ dataSource, symbol } = {}) => { if (dataSource && symbol) { this.adminService .addAssetProfile({ dataSource, symbol }) diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 792025e9b..ccb6f3ccd 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -11,12 +11,15 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { UpdateAssetProfileDto } from '@ghostfolio/api/app/admin/update-asset-profile.dto'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; +import { DATE_FORMAT } from '@ghostfolio/common/helper'; import { AdminMarketDataDetails, UniqueAsset } from '@ghostfolio/common/interfaces'; import { translate } from '@ghostfolio/ui/i18n'; import { MarketData, SymbolProfile } from '@prisma/client'; +import { format, parseISO } from 'date-fns'; +import { parse as csvToJson } from 'papaparse'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -42,12 +45,17 @@ export class AssetProfileDialog implements OnDestroy, OnInit { public countries: { [code: string]: { name: string; value: number }; }; + public historicalDataAsCsvString: string; public isBenchmark = false; public marketDataDetails: MarketData[] = []; public sectors: { [name: string]: { name: string; value: number }; }; + private static readonly HISTORICAL_DATA_TEMPLATE = `date;marketPrice\n${format( + new Date(), + DATE_FORMAT + )};123.45`; private unsubscribeSubject = new Subject(); public constructor( @@ -66,6 +74,9 @@ export class AssetProfileDialog implements OnDestroy, OnInit { } public initialize() { + this.historicalDataAsCsvString = + AssetProfileDialog.HISTORICAL_DATA_TEMPLATE; + this.adminService .fetchAdminMarketDataBySymbol({ dataSource: this.data.dataSource, @@ -134,6 +145,29 @@ export class AssetProfileDialog implements OnDestroy, OnInit { .subscribe(() => {}); } + public onImportHistoricalData() { + const marketData = csvToJson(this.historicalDataAsCsvString, { + dynamicTyping: true, + header: true, + skipEmptyLines: true + }).data; + + this.adminService + .postMarketData({ + dataSource: this.data.dataSource, + marketData: { + marketData: marketData.map(({ date, marketPrice }) => { + return { marketPrice, date: parseISO(date) }; + }) + }, + symbol: this.data.symbol + }) + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe(() => { + this.initialize(); + }); + } + public onMarketDataChanged(withRefresh: boolean = false) { if (withRefresh) { this.initialize(); diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index 6682d004d..66d00e720 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -51,6 +51,36 @@ [symbol]="data.symbol" (marketDataChanged)="onMarketDataChanged($event)" > + +
+ + + Historical Data (CSV) + + + +
+ +
+ +
+
(url, marketData); + } + public postPlatform(aPlatform: CreatePlatformDto) { return this.http.post(`/api/v1/platform`, aPlatform); } From 20f9225daabdb183fadd476a1e17893f95513c6f Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 14 Oct 2023 19:12:37 +0200 Subject: [PATCH 18/47] Release 2.11.0 (#2488) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17b60924b..63d566f7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.11.0 - 2023-10-14 ### Added diff --git a/package.json b/package.json index 0f75e6df4..4cb57f549 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.10.0", + "version": "2.11.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From bf816c3b899e483f9c9877c33bc0ef72330d60d0 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 15 Oct 2023 10:02:55 +0200 Subject: [PATCH 19/47] Bugfix/show transfer balance button based on permission (#2489) * Show button depending on permission * Update changelog --- CHANGELOG.md | 6 ++++++ .../components/accounts-table/accounts-table.component.html | 2 +- .../src/app/pages/accounts/accounts-page.component.ts | 6 +++--- apps/client/src/app/pages/accounts/accounts-page.html | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63d566f7d..dcdffbf53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Displayed the transfer cash balance button based on a permission + ## 2.11.0 - 2023-10-14 ### Added diff --git a/apps/client/src/app/components/accounts-table/accounts-table.component.html b/apps/client/src/app/components/accounts-table/accounts-table.component.html index a4548c1b9..bfe5a667a 100644 --- a/apps/client/src/app/components/accounts-table/accounts-table.component.html +++ b/apps/client/src/app/components/accounts-table/accounts-table.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/libs/ui/src/lib/assistant/interfaces/interfaces.ts b/libs/ui/src/lib/assistant/interfaces/interfaces.ts index 922091fb5..99f70dbe1 100644 --- a/libs/ui/src/lib/assistant/interfaces/interfaces.ts +++ b/libs/ui/src/lib/assistant/interfaces/interfaces.ts @@ -1,5 +1,12 @@ -import { Position } from '@ghostfolio/common/interfaces'; +import { UniqueAsset } from '@ghostfolio/common/interfaces'; + +export interface ISearchResultItem extends UniqueAsset { + assetSubClassString: string; + currency: string; + name: string; +} export interface ISearchResults { - holdings: Position[]; + assetProfiles: ISearchResultItem[]; + holdings: ISearchResultItem[]; } From 8492a8fed097b6f2511f4cde19c2b24ebad0df17 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 17 Oct 2023 09:17:44 +0200 Subject: [PATCH 23/47] Upgrade simplewebauthn (#2498) * Upgrade simplewebauthn to new major version * Update changelog --- CHANGELOG.md | 2 + apps/api/src/app/auth/web-auth.service.ts | 30 ++- .../user-account-settings.component.ts | 16 +- .../user-account-settings.html | 2 +- .../src/app/services/web-authn.service.ts | 4 +- package.json | 6 +- yarn.lock | 243 +++++++++--------- 7 files changed, 154 insertions(+), 149 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02922b3e9..ba9a7d750 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,10 +15,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Extended the `copy-assets` `Nx` target to copy the locales to the server’s assets +- Upgraded `@simplewebauthn/browser` and `@simplewebauthn/server` from version `5.2.1` to `8.3` ### Fixed - Displayed the transfer cash balance button based on a permission +- Fixed the biometric authentication ## 2.11.0 - 2023-10-14 diff --git a/apps/api/src/app/auth/web-auth.service.ts b/apps/api/src/app/auth/web-auth.service.ts index 471b77709..8d5c91a74 100644 --- a/apps/api/src/app/auth/web-auth.service.ts +++ b/apps/api/src/app/auth/web-auth.service.ts @@ -64,7 +64,7 @@ export class WebAuthService { } }; - const options = generateRegistrationOptions(opts); + const options = await generateRegistrationOptions(opts); await this.userService.updateUser({ data: { @@ -88,10 +88,16 @@ export class WebAuthService { let verification: VerifiedRegistrationResponse; try { const opts: VerifyRegistrationResponseOpts = { - credential, expectedChallenge, expectedOrigin: this.expectedOrigin, - expectedRPID: this.rpID + expectedRPID: this.rpID, + response: { + clientExtensionResults: credential.clientExtensionResults, + id: credential.id, + rawId: credential.rawId, + response: credential.response, + type: 'public-key' + } }; verification = await verifyRegistrationResponse(opts); } catch (error) { @@ -117,8 +123,8 @@ export class WebAuthService { */ existingDevice = await this.deviceService.createAuthDevice({ counter, - credentialPublicKey, - credentialId: credentialID, + credentialId: Buffer.from(credentialID), + credentialPublicKey: Buffer.from(credentialPublicKey), User: { connect: { id: user.id } } }); } @@ -152,7 +158,7 @@ export class WebAuthService { userVerification: 'preferred' }; - const options = generateAuthenticationOptions(opts); + const options = await generateAuthenticationOptions(opts); await this.userService.updateUser({ data: { @@ -181,7 +187,6 @@ export class WebAuthService { let verification: VerifiedAuthenticationResponse; try { const opts: VerifyAuthenticationResponseOpts = { - credential, authenticator: { credentialID: device.credentialId, credentialPublicKey: device.credentialPublicKey, @@ -189,9 +194,16 @@ export class WebAuthService { }, expectedChallenge: `${user.authChallenge}`, expectedOrigin: this.expectedOrigin, - expectedRPID: this.rpID + expectedRPID: this.rpID, + response: { + clientExtensionResults: credential.clientExtensionResults, + id: credential.id, + rawId: credential.rawId, + response: credential.response, + type: 'public-key' + } }; - verification = verifyAuthenticationResponse(opts); + verification = await verifyAuthenticationResponse(opts); } catch (error) { Logger.error(error, 'WebAuthService'); throw new InternalServerErrorException({ error: error.message }); diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index a52812ed3..6fb8d5c15 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3,10 +3,9 @@ import { ChangeDetectorRef, Component, OnDestroy, - OnInit, - ViewChild + OnInit } from '@angular/core'; -import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox'; +import { MatCheckboxChange } from '@angular/material/checkbox'; import { DataService } from '@ghostfolio/client/services/data.service'; import { STAY_SIGNED_IN, @@ -29,14 +28,12 @@ import { catchError, takeUntil } from 'rxjs/operators'; templateUrl: './user-account-settings.html' }) export class UserAccountSettingsComponent implements OnDestroy, OnInit { - @ViewChild('toggleSignInWithFingerprintEnabledElement') - signInWithFingerprintElement: MatCheckbox; - public appearancePlaceholder = $localize`Auto`; public baseCurrency: string; public currencies: string[] = []; public hasPermissionToUpdateViewMode: boolean; public hasPermissionToUpdateUserSettings: boolean; + public isWebAuthnEnabled: boolean; public language = document.documentElement.lang; public locales = [ 'de', @@ -250,9 +247,8 @@ export class UserAccountSettingsComponent implements OnDestroy, OnInit { } private update() { - if (this.signInWithFingerprintElement) { - this.signInWithFingerprintElement.checked = - this.webAuthnService.isEnabled() ?? false; - } + this.isWebAuthnEnabled = this.webAuthnService.isEnabled() ?? false; + + this.changeDetectorRef.markForCheck(); } } diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index 12f3da458..66829d55e 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -154,8 +154,8 @@
diff --git a/apps/client/src/app/services/web-authn.service.ts b/apps/client/src/app/services/web-authn.service.ts index eb033884c..5075d036d 100644 --- a/apps/client/src/app/services/web-authn.service.ts +++ b/apps/client/src/app/services/web-authn.service.ts @@ -88,7 +88,9 @@ export class WebAuthnService { { deviceId } ) .pipe( - switchMap(startAuthentication), + switchMap((requestOptionsJSON) => + startAuthentication(requestOptionsJSON, true) + ), switchMap((assertionResponse) => { return this.http.post<{ authToken: string }>( `/api/v1/auth/webauthn/verify-assertion`, diff --git a/package.json b/package.json index 4cb57f549..5bc51418d 100644 --- a/package.json +++ b/package.json @@ -82,8 +82,8 @@ "@nestjs/schedule": "3.0.2", "@nestjs/serve-static": "4.0.0", "@prisma/client": "5.4.2", - "@simplewebauthn/browser": "5.2.1", - "@simplewebauthn/server": "5.2.1", + "@simplewebauthn/browser": "8.3.1", + "@simplewebauthn/server": "8.3.2", "@stripe/stripe-js": "1.47.0", "alphavantage": "2.2.0", "big.js": "6.2.1", @@ -157,7 +157,7 @@ "@nx/web": "16.7.4", "@nx/workspace": "16.7.4", "@schematics/angular": "16.2.0", - "@simplewebauthn/typescript-types": "5.2.1", + "@simplewebauthn/typescript-types": "8.0.0", "@storybook/addon-essentials": "7.3.2", "@storybook/angular": "7.3.2", "@storybook/core-server": "7.3.2", diff --git a/yarn.lock b/yarn.lock index aede5f1be..3c798bb15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1819,6 +1819,36 @@ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== +"@cbor-extract/cbor-extract-darwin-arm64@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.1.1.tgz#5721f6dd3feae0b96d23122853ce977e0671b7a6" + integrity sha512-blVBy5MXz6m36Vx0DfLd7PChOQKEs8lK2bD1WJn/vVgG4FXZiZmZb2GECHFvVPA5T7OnODd9xZiL3nMCv6QUhA== + +"@cbor-extract/cbor-extract-darwin-x64@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.1.1.tgz#c25e7d0133950d87d101d7b3afafea8d50d83f5f" + integrity sha512-h6KFOzqk8jXTvkOftyRIWGrd7sKQzQv2jVdTL9nKSf3D2drCvQB/LHUxAOpPXo3pv2clDtKs3xnHalpEh3rDsw== + +"@cbor-extract/cbor-extract-linux-arm64@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.1.1.tgz#48f78e7d8f0fcc84ed074b6bfa6d15dd83187c63" + integrity sha512-SxAaRcYf8S0QHaMc7gvRSiTSr7nUYMqbUdErBEu+HYA4Q6UNydx1VwFE68hGcp1qvxcy9yT5U7gA+a5XikfwSQ== + +"@cbor-extract/cbor-extract-linux-arm@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.1.1.tgz#7507d346389cb682e44fab8fae9534edd52e2e41" + integrity sha512-ds0uikdcIGUjPyraV4oJqyVE5gl/qYBpa/Wnh6l6xLE2lj/hwnjT2XcZCChdXwW/YFZ1LUHs6waoYN8PmK0nKQ== + +"@cbor-extract/cbor-extract-linux-x64@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.1.1.tgz#b7c1d2be61c58ec18d58afbad52411ded63cd4cd" + integrity sha512-GVK+8fNIE9lJQHAlhOROYiI0Yd4bAZ4u++C2ZjlkS3YmO6hi+FUxe6Dqm+OKWTcMpL/l71N6CQAmaRcb4zyJuA== + +"@cbor-extract/cbor-extract-win32-x64@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.1.1.tgz#21b11a1a3f18c3e7d62fd5f87438b7ed2c64c1f7" + integrity sha512-2Niq1C41dCRIDeD8LddiH+mxGlO7HJ612Ll3D/E73ZWBmycued+8ghTr/Ho3CMOWPUEr08XtyBMVXAjqF+TcKw== + "@codewithdan/observable-store@2.2.15": version "2.2.15" resolved "https://registry.yarnpkg.com/@codewithdan/observable-store/-/observable-store-2.2.15.tgz#6d27e0988e182853def59a714b712f4389e558d2" @@ -2540,6 +2570,11 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.1.tgz#1a5b1959a528e374e8037c4396c3e825d6cf4a83" integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw== +"@hexagon/base64@^1.1.27": + version "1.1.28" + resolved "https://registry.yarnpkg.com/@hexagon/base64/-/base64-1.1.28.tgz#7d306a97f1423829be5b27c9d388fe50e3099d48" + integrity sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw== + "@humanwhocodes/config-array@^0.11.8": version "0.11.10" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" @@ -4252,7 +4287,7 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" -"@peculiar/asn1-android@^2.1.7": +"@peculiar/asn1-android@^2.3.6": version "2.3.6" resolved "https://registry.yarnpkg.com/@peculiar/asn1-android/-/asn1-android-2.3.6.tgz#20363c23bc5b9a91f7ffd80d7c3842dccff8c20b" integrity sha512-zkYh4DsiRhiNfg6tWaUuRc+huwlb9XJbmeZLrjTz9v76UK1Ehq3EnfJFED6P3sdznW/nqWe46LoM9JrqxcD58g== @@ -4261,7 +4296,27 @@ asn1js "^3.0.5" tslib "^2.4.0" -"@peculiar/asn1-schema@^2.1.7", "@peculiar/asn1-schema@^2.3.6": +"@peculiar/asn1-ecc@^2.3.6": + version "2.3.6" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-ecc/-/asn1-ecc-2.3.6.tgz#f155f33f5c61df463d9b33b911d25578a19694b7" + integrity sha512-Hu1xzMJQWv8/GvzOiinaE6XiD1/kEhq2C/V89UEoWeZ2fLUcGNIvMxOr/pMyL0OmpRWj/mhCTXOZp4PP+a0aTg== + dependencies: + "@peculiar/asn1-schema" "^2.3.6" + "@peculiar/asn1-x509" "^2.3.6" + asn1js "^3.0.5" + tslib "^2.4.0" + +"@peculiar/asn1-rsa@^2.3.6": + version "2.3.6" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-rsa/-/asn1-rsa-2.3.6.tgz#e2af2c52a914c60f33853a86a48905ec555b29c2" + integrity sha512-DswjJyAXZnvESuImGNTvbNKvh1XApBVqU+r3UmrFFTAI23gv62byl0f5OFKWTNhCf66WQrd3sklpsCZc/4+jwA== + dependencies: + "@peculiar/asn1-schema" "^2.3.6" + "@peculiar/asn1-x509" "^2.3.6" + asn1js "^3.0.5" + tslib "^2.4.0" + +"@peculiar/asn1-schema@^2.3.6": version "2.3.6" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz#3dd3c2ade7f702a9a94dfb395c192f5fa5d6b922" integrity sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA== @@ -4270,7 +4325,7 @@ pvtsutils "^1.3.2" tslib "^2.4.0" -"@peculiar/asn1-x509@^2.1.7": +"@peculiar/asn1-x509@^2.3.6": version "2.3.6" resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509/-/asn1-x509-2.3.6.tgz#e50154a460cdf43da8a41b23ee807a53e0036af0" integrity sha512-dRwX31R1lcbIdzbztiMvLNTDoGptxdV7HocNx87LfKU0fEWh7fTWJjx4oV+glETSy6heF/hJHB2J4RGB3vVSYg== @@ -4638,38 +4693,32 @@ "@sigstore/protobuf-specs" "^0.1.0" tuf-js "^1.1.7" -"@simplewebauthn/browser@5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@simplewebauthn/browser/-/browser-5.2.1.tgz#569252a9f235a99aae90c4d1cc6c441f42637b8e" - integrity sha512-TxL3OPHJf57hmnfQoF3zRIQWEdsJLxrA9NcGdRK0sB/h3jd13kpGQonBtMnj4YBQnWTtRDZ804wlpI9IEMaJ9g== - -"@simplewebauthn/server@5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@simplewebauthn/server/-/server-5.2.1.tgz#49038d2951ad2ac065bdf8342fdb13f78ee4df1c" - integrity sha512-+CQ8oJf9Io8y4ReYLagX5JG9ShntIkdeCPkMoyHLBSRPlNY0N/Yv3Iun4YPQ8d4LJUU9f8S1eD5bibIEMjWDRg== - dependencies: - "@peculiar/asn1-android" "^2.1.7" - "@peculiar/asn1-schema" "^2.1.7" - "@peculiar/asn1-x509" "^2.1.7" - "@simplewebauthn/typescript-types" "^5.2.1" - base64url "^3.0.1" - cbor "^5.1.0" - debug "^4.3.2" - elliptic "^6.5.3" - jsrsasign "^10.4.0" - jwk-to-pem "^2.0.4" - node-fetch "^2.6.0" - node-rsa "^1.1.1" +"@simplewebauthn/browser@8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@simplewebauthn/browser/-/browser-8.3.1.tgz#f5c1aed6313d61944a9e13f16ae4495750bddf93" + integrity sha512-bMW7oOkxX4ydRAkkPtJ1do2k9yOoIGc/hZYebcuEOVdJoC6wwVpu97mYY7Mz8B9hLlcaR5WFgBsLl5tSJVzm8A== + dependencies: + "@simplewebauthn/typescript-types" "^8.0.0" -"@simplewebauthn/typescript-types@5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@simplewebauthn/typescript-types/-/typescript-types-5.2.1.tgz#a8229ce4f71be7edafe3bfdce062b332ef494f0d" - integrity sha512-t/NzbjaD0zu4ivUmiof2cPA8X5LHhFX+DflBBl71/dzEhl15qepDI2rxWdjB+Hc0FfOT1fBQnb1uP19fPcDUiA== +"@simplewebauthn/server@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@simplewebauthn/server/-/server-8.3.2.tgz#dfdbe7af4c1258e786c4a0b1c83c54743ba7568c" + integrity sha512-ceo8t5gdO5W/JOePQWPDH+rAd8tO6QNalLU56rc9ItdzaTjk+qcYwQg/BKXDDg6117P3HKrRBkZwBrMJl4dOdA== + dependencies: + "@hexagon/base64" "^1.1.27" + "@peculiar/asn1-android" "^2.3.6" + "@peculiar/asn1-ecc" "^2.3.6" + "@peculiar/asn1-rsa" "^2.3.6" + "@peculiar/asn1-schema" "^2.3.6" + "@peculiar/asn1-x509" "^2.3.6" + "@simplewebauthn/typescript-types" "^8.0.0" + cbor-x "^1.5.2" + cross-fetch "^4.0.0" -"@simplewebauthn/typescript-types@^5.2.1": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@simplewebauthn/typescript-types/-/typescript-types-5.4.0.tgz#533b28e7cabcc092396ecd07bbb953b71e7696b6" - integrity sha512-LeJq6Jx+o7D6iIlCy8CH5jCjwVcUvAReEo66VcF3nysfc/yKW5yCAPLSRmPITF4CRZTfnVPxUBUcveUQL6aBMA== +"@simplewebauthn/typescript-types@8.0.0", "@simplewebauthn/typescript-types@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@simplewebauthn/typescript-types/-/typescript-types-8.0.0.tgz#1698a7228aba880c5c1deba1f13a4f9fd8851cb3" + integrity sha512-d7Izb2H+LZJteXMkS8DmpAarD6mZdpIOu/av/yH4/u/3Pd6DKFLyBM3j8BMmUvUqpzvJvHARNrRfQYto58mtTQ== "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -7122,17 +7171,7 @@ arrify@^2.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asn1.js@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@^0.2.4, asn1@~0.2.3: +asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== @@ -7461,7 +7500,7 @@ base64-js@^1.2.0, base64-js@^1.3.0, base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base64url@3.x.x, base64url@^3.0.1: +base64url@3.x.x: version "3.0.1" resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== @@ -7527,7 +7566,7 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^9.0.0, bignumber.js@^9.0.1: +bignumber.js@^9.0.0: version "9.1.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== @@ -7556,11 +7595,6 @@ bluebird@^3.7.2: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -7689,11 +7723,6 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browser-assert@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" @@ -7953,13 +7982,26 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -cbor@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" - integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== +cbor-extract@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cbor-extract/-/cbor-extract-2.1.1.tgz#f154b31529fdb6b7c70fb3ca448f44eda96a1b42" + integrity sha512-1UX977+L+zOJHsp0mWFG13GLwO6ucKgSmSW6JTl8B9GUvACvHeIVpFqhU92299Z6PfD09aTXDell5p+lp1rUFA== dependencies: - bignumber.js "^9.0.1" - nofilter "^1.0.4" + node-gyp-build-optional-packages "5.0.3" + optionalDependencies: + "@cbor-extract/cbor-extract-darwin-arm64" "2.1.1" + "@cbor-extract/cbor-extract-darwin-x64" "2.1.1" + "@cbor-extract/cbor-extract-linux-arm" "2.1.1" + "@cbor-extract/cbor-extract-linux-arm64" "2.1.1" + "@cbor-extract/cbor-extract-linux-x64" "2.1.1" + "@cbor-extract/cbor-extract-win32-x64" "2.1.1" + +cbor-x@^1.5.2: + version "1.5.4" + resolved "https://registry.yarnpkg.com/cbor-x/-/cbor-x-1.5.4.tgz#8f0754fa8589cbd7339b613b2b5717d133508e98" + integrity sha512-PVKILDn+Rf6MRhhcyzGXi5eizn1i0i3F8Fe6UMMxXBnWkalq9+C5+VTmlIjAYM4iF2IYF2N+zToqAfYOp+3rfw== + optionalDependencies: + cbor-extract "^2.1.1" chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" @@ -8691,6 +8733,13 @@ cross-fetch@^3.0.5: dependencies: node-fetch "^2.6.12" +cross-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== + dependencies: + node-fetch "^2.6.12" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -9741,19 +9790,6 @@ elkjs@^0.8.2: resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.8.2.tgz#c37763c5a3e24e042e318455e0147c912a7c248e" integrity sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ== -elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emittery@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" @@ -11673,14 +11709,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hdr-histogram-js@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz#0b860534655722b6e3f3e7dca7b78867cf43dcb5" @@ -11710,15 +11738,6 @@ helmet@7.0.0: resolved "https://registry.yarnpkg.com/helmet/-/helmet-7.0.0.tgz#ac3011ba82fa2467f58075afa58a49427ba6212d" integrity sha512-MsIgYmdBh460ZZ8cJC81q4XJknjG567wzEmv46WOBblDb6TUd3z8/GhgmsM9pn8g2B80tAJ4m5/d3Bi1KrSUBQ== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -13490,11 +13509,6 @@ jsprim@^2.0.2: json-schema "0.4.0" verror "1.10.0" -jsrsasign@^10.4.0: - version "10.8.6" - resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.8.6.tgz#ebf7f3c812c6517af84f0d8a10115e0dbfabe145" - integrity sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw== - jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -13513,15 +13527,6 @@ jwa@^2.0.0: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" -jwk-to-pem@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/jwk-to-pem/-/jwk-to-pem-2.0.5.tgz#151310bcfbcf731adc5ad9f379cbc8b395742906" - integrity sha512-L90jwellhO8jRKYwbssU9ifaMVqajzj3fpRjDKcsDzrslU9syRbFqfkXtT4B89HYAap+xsxNcxgBSB09ig+a7A== - dependencies: - asn1.js "^5.3.0" - elliptic "^6.5.4" - safe-buffer "^5.0.1" - jws@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" @@ -14226,16 +14231,11 @@ mini-css-extract-plugin@~2.4.7: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" @@ -14600,7 +14600,7 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.2.0.tgz#13ec6df98f33168958dbfb6945f10aedf42e7ea8" integrity sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ== -node-fetch@^2.0.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.0.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.6.12" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== @@ -14612,6 +14612,11 @@ node-forge@^1, node-forge@^1.3.1: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== +node-gyp-build-optional-packages@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" + integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== + node-gyp-build-optional-packages@5.0.7: version "5.0.7" resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" @@ -14654,18 +14659,6 @@ node-releases@^2.0.12: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== -node-rsa@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/node-rsa/-/node-rsa-1.1.1.tgz#efd9ad382097782f506153398496f79e4464434d" - integrity sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw== - dependencies: - asn1 "^0.2.4" - -nofilter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" - integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== - non-layered-tidy-tree-layout@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz#57d35d13c356643fc296a55fb11ac15e74da7804" From 32df7620d90c65102e97d9495eb60955b2bb2373 Mon Sep 17 00:00:00 2001 From: Manushreshta B L <77065548+M27afk@users.noreply.github.com> Date: Tue, 17 Oct 2023 22:03:22 +0530 Subject: [PATCH 24/47] Add support for creating asset profiles with MANUAL data source (#2479) * Add support for creating asset profiles with MANUAL data source * Refactoring * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + apps/api/src/app/admin/admin.controller.ts | 7 ++- apps/api/src/app/admin/admin.service.ts | 11 +++- ...create-asset-profile-dialog.component.scss | 3 + .../create-asset-profile-dialog.component.ts | 62 +++++++++++++++---- .../create-asset-profile-dialog.html | 38 +++++++++--- .../create-asset-profile-dialog.module.ts | 4 ++ 7 files changed, 104 insertions(+), 22 deletions(-) create mode 100644 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.scss diff --git a/CHANGELOG.md b/CHANGELOG.md index ba9a7d750..2c3f4dd80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added the endpoint `GET api/v1/account/:id/balances` which provides historical cash balances - Added support to search for an asset profile by `isin`, `name` and `symbol` as an administrator (experimental) +- Added support for creating asset profiles with `MANUAL` data source ### Changed diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 30270d0c1..a19b17d4a 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -398,8 +398,11 @@ export class AdminController { StatusCodes.FORBIDDEN ); } - - return this.adminService.addAssetProfile({ dataSource, symbol }); + return this.adminService.addAssetProfile({ + dataSource, + symbol, + currency: this.request.user.Settings.settings.baseCurrency + }); } @Delete('profile-data/:dataSource/:symbol') diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 173854ea7..84ae5934c 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -41,10 +41,19 @@ export class AdminService { ) {} public async addAssetProfile({ + currency, dataSource, symbol - }: UniqueAsset): Promise { + }: UniqueAsset & { currency?: string }): Promise { try { + if (dataSource === 'MANUAL') { + return this.symbolProfileService.add({ + currency, + dataSource, + symbol + }); + } + const assetProfiles = await this.dataProviderService.getAssetProfiles([ { dataSource, symbol } ]); diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.scss b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.scss new file mode 100644 index 000000000..5d4e87f30 --- /dev/null +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts index c3c2fb2eb..eea8898c1 100644 --- a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts @@ -1,15 +1,15 @@ import { ChangeDetectionStrategy, - ChangeDetectorRef, Component, - Inject, OnDestroy, OnInit } from '@angular/core'; import { + AbstractControl, FormBuilder, FormControl, FormGroup, + ValidationErrors, Validators } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; @@ -19,35 +19,75 @@ import { AdminService } from '@ghostfolio/client/services/admin.service'; changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'h-100' }, selector: 'gf-create-asset-profile-dialog', + styleUrls: ['./create-asset-profile-dialog.component.scss'], templateUrl: 'create-asset-profile-dialog.html' }) export class CreateAssetProfileDialog implements OnInit, OnDestroy { public createAssetProfileForm: FormGroup; + public mode: 'auto' | 'manual'; public constructor( public readonly adminService: AdminService, - public readonly changeDetectorRef: ChangeDetectorRef, public readonly dialogRef: MatDialogRef, public readonly formBuilder: FormBuilder ) {} public ngOnInit() { - this.createAssetProfileForm = this.formBuilder.group({ - searchSymbol: new FormControl(null, [Validators.required]) - }); + this.createAssetProfileForm = this.formBuilder.group( + { + addSymbol: new FormControl(null, [Validators.required]), + searchSymbol: new FormControl(null, [Validators.required]) + }, + { + validators: this.atLeastOneValid + } + ); + + this.mode = 'auto'; } public onCancel() { this.dialogRef.close(); } + public onRadioChange(mode: 'auto' | 'manual') { + this.mode = mode; + } + public onSubmit() { - this.dialogRef.close({ - dataSource: - this.createAssetProfileForm.controls['searchSymbol'].value.dataSource, - symbol: this.createAssetProfileForm.controls['searchSymbol'].value.symbol - }); + this.mode === 'auto' + ? this.dialogRef.close({ + dataSource: + this.createAssetProfileForm.controls['searchSymbol'].value + .dataSource, + symbol: + this.createAssetProfileForm.controls['searchSymbol'].value.symbol + }) + : this.dialogRef.close({ + dataSource: 'MANUAL', + symbol: this.createAssetProfileForm.controls['addSymbol'].value + }); } public ngOnDestroy() {} + + private atLeastOneValid(control: AbstractControl): ValidationErrors { + const addSymbolControl = control.get('addSymbol'); + const searchSymbolControl = control.get('searchSymbol'); + + if (addSymbolControl.valid && searchSymbolControl.valid) { + return { atLeastOneValid: true }; + } + + if ( + addSymbolControl.valid || + !addSymbolControl || + searchSymbolControl.valid || + !searchSymbolControl + ) { + return { atLeastOneValid: false }; + } + + return { atLeastOneValid: true }; + } } diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html index 43eadf93e..e7ed9352a 100644 --- a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -6,13 +6,35 @@ >

Add Asset Profile

- - Name, symbol or ISIN - - +
+ + + + + + + +
+ +
+ + Name, symbol or ISIN + + +
+
+ + Symbol + + +
@@ -20,7 +42,7 @@ color="primary" mat-flat-button type="submit" - [disabled]="!createAssetProfileForm.valid" + [disabled]="createAssetProfileForm.hasError('atLeastOneValid')" > Save diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.module.ts b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.module.ts index e99d8f788..2d50200c4 100644 --- a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.module.ts +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.module.ts @@ -4,6 +4,8 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatRadioModule } from '@angular/material/radio'; import { GfSymbolAutocompleteModule } from '@ghostfolio/ui/symbol-autocomplete'; import { CreateAssetProfileDialog } from './create-asset-profile-dialog.component'; @@ -17,6 +19,8 @@ import { CreateAssetProfileDialog } from './create-asset-profile-dialog.componen MatDialogModule, MatButtonModule, MatFormFieldModule, + MatInputModule, + MatRadioModule, ReactiveFormsModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] From 0375b938a20d5d4b6e6f7cd5167fd36eec327b58 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 17 Oct 2023 20:14:46 +0200 Subject: [PATCH 25/47] Add confirmation dialog (#2501) --- .../admin-market-data.component.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts index 0ffa77bf0..bcf7679d0 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts @@ -178,10 +178,20 @@ export class AdminMarketDataComponent } public onDeleteProfileData({ dataSource, symbol }: UniqueAsset) { - this.adminService - .deleteProfileData({ dataSource, symbol }) - .pipe(takeUntil(this.unsubscribeSubject)) - .subscribe(() => {}); + const confirmation = confirm( + $localize`Do you really want to delete this asset profile?` + ); + + if (confirmation) { + this.adminService + .deleteProfileData({ dataSource, symbol }) + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe(() => { + setTimeout(() => { + window.location.reload(); + }, 300); + }); + } } public onGather7Days() { From 74278073b32d325e41c5bdea383a3c760bb5588b Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 17 Oct 2023 20:36:01 +0200 Subject: [PATCH 26/47] Bugfix/fix query to get asset profiles matching data source and symbol (#2504) * Match dataSource and symbol * Update changelog --- CHANGELOG.md | 1 + .../symbol-profile/symbol-profile.service.ts | 20 ++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c3f4dd80..33f52cbcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Displayed the transfer cash balance button based on a permission - Fixed the biometric authentication +- Fixed the query to get asset profiles that match both the `dataSource` and `symbol` values ## 2.11.0 - 2023-10-14 diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index 99244c352..b861ccf8f 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -52,20 +52,12 @@ export class SymbolProfileService { SymbolProfileOverrides: true }, where: { - AND: [ - { - dataSource: { - in: aUniqueAssets.map(({ dataSource }) => { - return dataSource; - }) - }, - symbol: { - in: aUniqueAssets.map(({ symbol }) => { - return symbol; - }) - } - } - ] + OR: aUniqueAssets.map(({ dataSource, symbol }) => { + return { + dataSource, + symbol + }; + }) } }) .then((symbolProfiles) => this.getSymbols(symbolProfiles)); From 653c9c62a89fa7cca0166edc469befe73178746e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 17 Oct 2023 20:42:32 +0200 Subject: [PATCH 27/47] Sort imports (#2490) --- .../user-account-access/user-account-access.module.ts | 2 +- .../create-or-update-account-dialog.module.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/app/components/user-account-access/user-account-access.module.ts b/apps/client/src/app/components/user-account-access/user-account-access.module.ts index 0388dd244..fb3346ae0 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.module.ts +++ b/apps/client/src/app/components/user-account-access/user-account-access.module.ts @@ -1,5 +1,6 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; import { RouterModule } from '@angular/router'; import { GfPortfolioAccessTableModule } from '@ghostfolio/client/components/access-table/access-table.module'; @@ -7,7 +8,6 @@ import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfCreateOrUpdateAccessDialogModule } from './create-or-update-access-dialog/create-or-update-access-dialog.module'; import { UserAccountAccessComponent } from './user-account-access.component'; -import { MatButtonModule } from '@angular/material/button'; @NgModule({ declarations: [UserAccountAccessComponent], diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts index 0f8b8ecb8..22ec5e1f8 100644 --- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts +++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts @@ -1,13 +1,13 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { GfSymbolIconModule } from '@ghostfolio/client/components/symbol-icon/symbol-icon.module'; import { CreateOrUpdateAccountDialog } from './create-or-update-account-dialog.component'; From 84db54babdc2bd2a42ab620aaa91f5bb3eeb307a Mon Sep 17 00:00:00 2001 From: RaviTejaVattem <43704759+RaviTejaVattem@users.noreply.github.com> Date: Tue, 17 Oct 2023 19:49:54 +0100 Subject: [PATCH 28/47] Change checkboxes to slide toggles on user settings page (#2497) * Change checkboxes to slide toggles on user settings page * Update changelog --- CHANGELOG.md | 1 + .../user-account-settings.component.ts | 10 +++++----- .../user-account-settings.html | 20 +++++++++++-------- .../user-account-settings.module.ts | 4 ++-- apps/client/src/styles.scss | 9 +++++++++ 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33f52cbcc..72f8eca9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Changed the checkboxes to slide toggles in the user settings of the user account page - Extended the `copy-assets` `Nx` target to copy the locales to the server’s assets - Upgraded `@simplewebauthn/browser` and `@simplewebauthn/server` from version `5.2.1` to `8.3` diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index 6fb8d5c15..3fb3592e0 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -5,7 +5,7 @@ import { OnDestroy, OnInit } from '@angular/core'; -import { MatCheckboxChange } from '@angular/material/checkbox'; +import { MatSlideToggleChange } from '@angular/material/slide-toggle'; import { DataService } from '@ghostfolio/client/services/data.service'; import { STAY_SIGNED_IN, @@ -117,7 +117,7 @@ export class UserAccountSettingsComponent implements OnDestroy, OnInit { }); } - public onExperimentalFeaturesChange(aEvent: MatCheckboxChange) { + public onExperimentalFeaturesChange(aEvent: MatSlideToggleChange) { this.dataService .putUserSetting({ isExperimentalFeatures: aEvent.checked }) .pipe(takeUntil(this.unsubscribeSubject)) @@ -155,7 +155,7 @@ export class UserAccountSettingsComponent implements OnDestroy, OnInit { }); } - public onRestrictedViewChange(aEvent: MatCheckboxChange) { + public onRestrictedViewChange(aEvent: MatSlideToggleChange) { this.dataService .putUserSetting({ isRestrictedView: aEvent.checked }) .pipe(takeUntil(this.unsubscribeSubject)) @@ -173,7 +173,7 @@ export class UserAccountSettingsComponent implements OnDestroy, OnInit { }); } - public onSignInWithFingerprintChange(aEvent: MatCheckboxChange) { + public onSignInWithFingerprintChange(aEvent: MatSlideToggleChange) { if (aEvent.checked) { this.registerDevice(); } else { @@ -189,7 +189,7 @@ export class UserAccountSettingsComponent implements OnDestroy, OnInit { } } - public onViewModeChange(aEvent: MatCheckboxChange) { + public onViewModeChange(aEvent: MatSlideToggleChange) { this.dataService .putUserSetting({ viewMode: aEvent.checked === true ? 'ZEN' : 'DEFAULT' }) .pipe(takeUntil(this.unsubscribeSubject)) diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index 66829d55e..87762d449 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -11,12 +11,13 @@
- + >
@@ -139,12 +140,13 @@
- + >
@@ -153,12 +155,13 @@
Sign in with fingerprint
- + >
- + >
diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.module.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.module.ts index 24e57ff20..7a40cf641 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.module.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.module.ts @@ -3,9 +3,9 @@ import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; -import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; +import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { RouterModule } from '@angular/router'; import { GfValueModule } from '@ghostfolio/ui/value'; @@ -20,9 +20,9 @@ import { UserAccountSettingsComponent } from './user-account-settings.component' GfValueModule, MatButtonModule, MatCardModule, - MatCheckboxModule, MatFormFieldModule, MatSelectModule, + MatSlideToggleModule, ReactiveFormsModule, RouterModule ] diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index 36099a249..175194cac 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -462,6 +462,15 @@ ngx-skeleton-loader { } } +/** + * Fix for https://github.com/angular/components/issues/26818 + */ +.mat-mdc-slide-toggle { + .mdc-switch__track { + background-color: rgba(var(--palette-primary-500), 1); + } +} + .mat-stepper-vertical, .mat-stepper-horizontal { background: transparent !important; From ea65dc5034eeb88605824646e0045506fde45288 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 17 Oct 2023 20:52:02 +0200 Subject: [PATCH 29/47] Release 2.12.0 (#2505) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f8eca9a..e8b280ac2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.12.0 - 2023-10-17 ### Added diff --git a/package.json b/package.json index 5bc51418d..3b5247252 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.11.0", + "version": "2.12.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 016634a77ff6e7b45c026aa79ce6482c0c390dad Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:35:07 +0200 Subject: [PATCH 30/47] Feature/setup i18n page (#2508) * Setup i18n page * Add meta description --- apps/client/src/app/app-routing.module.ts | 5 + .../pages/i18n/i18n-page-routing.module.ts | 19 ++ .../src/app/pages/i18n/i18n-page.component.ts | 21 ++ apps/client/src/app/pages/i18n/i18n-page.html | 10 + .../src/app/pages/i18n/i18n-page.module.ts | 12 + apps/client/src/app/pages/i18n/i18n-page.scss | 3 + apps/client/src/locales/messages.de.xlf | 258 ++++++++++------- apps/client/src/locales/messages.es.xlf | 260 +++++++++++------- apps/client/src/locales/messages.fr.xlf | 260 +++++++++++------- apps/client/src/locales/messages.it.xlf | 260 +++++++++++------- apps/client/src/locales/messages.nl.xlf | 260 +++++++++++------- apps/client/src/locales/messages.pt.xlf | 260 +++++++++++------- apps/client/src/locales/messages.tr.xlf | 260 +++++++++++------- apps/client/src/locales/messages.xlf | 249 ++++++++++------- 14 files changed, 1325 insertions(+), 812 deletions(-) create mode 100644 apps/client/src/app/pages/i18n/i18n-page-routing.module.ts create mode 100644 apps/client/src/app/pages/i18n/i18n-page.component.ts create mode 100644 apps/client/src/app/pages/i18n/i18n-page.html create mode 100644 apps/client/src/app/pages/i18n/i18n-page.module.ts create mode 100644 apps/client/src/app/pages/i18n/i18n-page.scss diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index f82bad864..26080e884 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -73,6 +73,11 @@ const routes: Routes = [ loadChildren: () => import('./pages/home/home-page.module').then((m) => m.HomePageModule) }, + { + path: 'i18n', + loadChildren: () => + import('./pages/i18n/i18n-page.module').then((m) => m.I18nPageModule) + }, { path: paths.markets, loadChildren: () => diff --git a/apps/client/src/app/pages/i18n/i18n-page-routing.module.ts b/apps/client/src/app/pages/i18n/i18n-page-routing.module.ts new file mode 100644 index 000000000..9965121ca --- /dev/null +++ b/apps/client/src/app/pages/i18n/i18n-page-routing.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; + +import { I18nPageComponent } from './i18n-page.component'; + +const routes: Routes = [ + { + canActivate: [AuthGuard], + component: I18nPageComponent, + path: '' + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class I18nPageRoutingModule {} diff --git a/apps/client/src/app/pages/i18n/i18n-page.component.ts b/apps/client/src/app/pages/i18n/i18n-page.component.ts new file mode 100644 index 000000000..46837fa57 --- /dev/null +++ b/apps/client/src/app/pages/i18n/i18n-page.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { Subject } from 'rxjs'; + +@Component({ + host: { class: 'page' }, + selector: 'gf-i18n-page', + styleUrls: ['./i18n-page.scss'], + templateUrl: './i18n-page.html' +}) +export class I18nPageComponent implements OnInit { + private unsubscribeSubject = new Subject(); + + public constructor() {} + + public ngOnInit() {} + + public ngOnDestroy() { + this.unsubscribeSubject.next(); + this.unsubscribeSubject.complete(); + } +} diff --git a/apps/client/src/app/pages/i18n/i18n-page.html b/apps/client/src/app/pages/i18n/i18n-page.html new file mode 100644 index 000000000..1ace8e297 --- /dev/null +++ b/apps/client/src/app/pages/i18n/i18n-page.html @@ -0,0 +1,10 @@ +
+
+
    +
  • + Ghostfolio is a personal finance dashboard to keep track of your assets + like stocks, ETFs or cryptocurrencies across multiple platforms. +
  • +
+
+
diff --git a/apps/client/src/app/pages/i18n/i18n-page.module.ts b/apps/client/src/app/pages/i18n/i18n-page.module.ts new file mode 100644 index 000000000..5b5580ebf --- /dev/null +++ b/apps/client/src/app/pages/i18n/i18n-page.module.ts @@ -0,0 +1,12 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; + +import { I18nPageRoutingModule } from './i18n-page-routing.module'; +import { I18nPageComponent } from './i18n-page.component'; + +@NgModule({ + declarations: [I18nPageComponent], + imports: [CommonModule, I18nPageRoutingModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class I18nPageModule {} diff --git a/apps/client/src/app/pages/i18n/i18n-page.scss b/apps/client/src/app/pages/i18n/i18n-page.scss new file mode 100644 index 000000000..5d4e87f30 --- /dev/null +++ b/apps/client/src/app/pages/i18n/i18n-page.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index e4e1223ea..21c260c5d 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -30,7 +30,7 @@ Empfänger apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -38,7 +38,7 @@ Typ apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -62,7 +62,7 @@ Details apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -70,7 +70,7 @@ Widerrufen apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -78,7 +78,7 @@ Möchtest du diese Zugangsberechtigung wirklich widerrufen? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -98,7 +98,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -282,7 +282,7 @@ Jobs löschen apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 @@ -290,7 +290,7 @@ Symbol apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -298,7 +298,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -306,7 +310,7 @@ Datenquelle apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -322,7 +326,7 @@ Versuche apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -330,7 +334,7 @@ Erstellt apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -338,7 +342,7 @@ Abgeschlossen apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -346,23 +350,23 @@ Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 - - Asset Profile - Anlageprofil + + Asset Profiles + Anlageprofile - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data + + Historical Market Data Historische Marktdaten apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -370,7 +374,7 @@ Daten anzeigen apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -378,7 +382,7 @@ Stacktrace anzeigen apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -386,7 +390,7 @@ Job löschen apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -434,11 +438,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -454,7 +458,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -478,11 +482,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -498,7 +502,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -514,7 +518,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -536,6 +540,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Please add a currency: @@ -710,7 +718,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -754,7 +762,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -766,7 +774,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -786,7 +794,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -802,7 +810,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -818,7 +826,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -838,11 +846,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -974,7 +982,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -982,7 +990,7 @@ Ich apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -990,7 +998,7 @@ Mein Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -998,7 +1006,7 @@ Über Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1014,7 +1022,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1030,7 +1038,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1166,7 +1174,7 @@ Einloggen apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1356,7 +1364,7 @@ Sektoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1372,7 +1380,7 @@ Länder apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1700,7 +1708,7 @@ Möchtest du diese Anmeldemethode wirklich löschen? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -1772,7 +1780,7 @@ Basiswährung apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -1780,7 +1788,7 @@ Lokalität apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -1788,7 +1796,7 @@ Datums- und Zahlenformat apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -1796,7 +1804,7 @@ Zen Modus apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -1808,7 +1816,7 @@ Einloggen mit Fingerabdruck apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -1816,7 +1824,7 @@ Benutzer ID apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -1884,7 +1892,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1928,7 +1936,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1936,7 +1944,7 @@ Konto ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2252,7 +2260,7 @@ Name, Symbol oder ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2312,11 +2320,11 @@ Kommentar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2332,7 +2340,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2572,7 +2580,7 @@ Änderung vom Allzeithoch libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -2580,7 +2588,7 @@ vom AZH libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -2604,7 +2612,7 @@ Sprache apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2612,7 +2620,7 @@ Registrieren apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -2700,7 +2708,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2716,7 +2724,7 @@ Sektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2728,7 +2736,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -2872,7 +2880,7 @@ Filtern nach... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -2904,7 +2912,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -2924,7 +2932,7 @@ Experimentelle Funktionen apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2964,7 +2972,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -2972,7 +2980,7 @@ Aussehen apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2980,7 +2988,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2988,7 +2996,7 @@ Hell apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2996,7 +3004,7 @@ Dunkel apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -3260,27 +3268,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -3308,7 +3316,7 @@ Symbol Zuordnung apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -3358,6 +3366,10 @@ Import Importieren + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3516,7 +3528,7 @@ Unbeschwertes Erlebnis für turbulente Zeiten apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3524,7 +3536,7 @@ Vorschau auf kommende Funktionalität apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4372,7 +4384,7 @@ Scraper Konfiguration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7672,7 +7684,7 @@ Biometrische Authentifizierung apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7756,7 +7768,7 @@ Daten exportieren apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10159,14 +10171,6 @@ 7 - - Add Access - Zugang hinzufügen - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Wählen Sie eine Datei aus oder ziehen Sie sie hierhin @@ -10316,7 +10320,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10396,7 +10400,7 @@ Finde Position... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10404,7 +10408,59 @@ Keine Einträge vorhanden... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Anlageprofil + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Möchtest du dieses Anlageprofil wirklich löschen? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Suche + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Manuell hinzufügen + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Mit dem Finanz-Dashboard Ghostfolio können Sie Ihr Vermögen in Form von Aktien, ETFs oder Kryptowährungen verteilt über mehrere Finanzinstitute überwachen. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Letztes Allzeithoch + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index f9c69808f..935b6605d 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -31,7 +31,7 @@ Beneficiario apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -39,7 +39,7 @@ Tipo apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -63,7 +63,7 @@ Detalles apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -71,7 +71,7 @@ Revoca apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -79,7 +79,7 @@ ¿Quieres revocar el acceso concedido? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -99,7 +99,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -283,7 +283,7 @@ Elimina los trabajos apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 @@ -291,7 +291,7 @@ Símbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -299,7 +299,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -307,7 +311,7 @@ Fuente de datos apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -323,7 +327,7 @@ Intentos apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -331,7 +335,7 @@ Creado apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -339,7 +343,7 @@ Finalizado apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -347,23 +351,23 @@ Estado apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 - - Asset Profile - Perfil del activo + + Asset Profiles + Perfil del activo - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Datos históricos del mercado + + Historical Market Data + Datos históricos del mercado apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -371,7 +375,7 @@ Visualiza los datos apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -379,7 +383,7 @@ Visualiza Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -387,7 +391,7 @@ Elimina el trabajo apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -435,11 +439,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -455,7 +459,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -479,11 +483,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -499,7 +503,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -515,7 +519,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -537,6 +541,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Please add a currency: @@ -711,7 +719,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -755,7 +763,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -767,7 +775,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -787,7 +795,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -803,7 +811,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -819,7 +827,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -839,11 +847,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -975,7 +983,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -983,7 +991,7 @@ apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -991,7 +999,7 @@ Mi Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -999,7 +1007,7 @@ Sobre Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1015,7 +1023,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1031,7 +1039,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1167,7 +1175,7 @@ Iniciar sesión apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1354,7 +1362,7 @@ Sectores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1370,7 +1378,7 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1698,7 +1706,7 @@ ¿Estás seguro de eliminar este método de acceso? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -1770,7 +1778,7 @@ Divisa base apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -1778,7 +1786,7 @@ Ubicación apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -1786,7 +1794,7 @@ Formato de fecha y número apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -1794,7 +1802,7 @@ Modo Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -1806,7 +1814,7 @@ Accede con huella digital apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -1814,7 +1822,7 @@ ID usuario apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -1882,7 +1890,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1926,7 +1934,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1934,7 +1942,7 @@ ID cuenta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2250,7 +2258,7 @@ Nombre, símbolo o ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2310,11 +2318,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2330,7 +2338,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2570,7 +2578,7 @@ Variación respecto al máximo histórico (ATH) libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -2578,7 +2586,7 @@ desde el máximo histórico (ATH) libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -2602,7 +2610,7 @@ Idioma apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2610,7 +2618,7 @@ Comenzar apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -2678,7 +2686,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2734,7 +2742,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2746,7 +2754,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -2886,7 +2894,7 @@ Filtrar por... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -2910,7 +2918,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -2922,7 +2930,7 @@ Funcionalidades experimentales apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2962,7 +2970,7 @@ Automático apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -2970,7 +2978,7 @@ Apariencia apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2978,7 +2986,7 @@ Automático apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2986,7 +2994,7 @@ Claro apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2994,7 +3002,7 @@ Oscuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -3258,27 +3266,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -3306,7 +3314,7 @@ Mapeo de símbolos apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -3356,6 +3364,10 @@ Import Import + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3514,7 +3526,7 @@ Distraction-free experience for turbulent times apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3522,7 +3534,7 @@ Sneak peek at upcoming functionality apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4370,7 +4382,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7670,7 +7682,7 @@ Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7754,7 +7766,7 @@ Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10157,14 +10169,6 @@ 7 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Choose or drop a file here @@ -10314,7 +10318,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10394,7 +10398,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10402,7 +10406,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio es un dashboard de finanzas personales para hacer un seguimiento de tus activos como acciones, ETFs o criptodivisas a través de múltiples plataformas. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 68994b48e..be8a8b10b 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -14,7 +14,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -26,7 +26,7 @@ Bénéficiaire apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -34,7 +34,7 @@ Type apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -58,7 +58,7 @@ Détails apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -66,7 +66,7 @@ Révoquer apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -74,7 +74,7 @@ Voulez-vous vraiment révoquer cet accès ? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -90,7 +90,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -110,7 +110,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -190,7 +190,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -334,7 +334,7 @@ Symbole apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -342,7 +342,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -350,7 +354,7 @@ Source Données apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -366,7 +370,7 @@ Tentatives apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -374,7 +378,7 @@ Créé apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -382,7 +386,7 @@ Terminé apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -390,7 +394,7 @@ Statut apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 @@ -398,23 +402,23 @@ Supprimer Tâches apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 - - Asset Profile - Profil d'Actifs + + Asset Profiles + Profil d'Actifs - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Données de Marché Historiques + + Historical Market Data + Données de Marché Historiques apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -422,7 +426,7 @@ Voir Données apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -430,7 +434,7 @@ Voir la Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -438,7 +442,7 @@ Supprimer Tâche apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -486,11 +490,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -506,7 +510,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -530,11 +534,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -550,7 +554,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -562,7 +566,7 @@ Filtrer par... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -574,7 +578,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -594,7 +598,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -614,7 +618,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -636,6 +640,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Sectors Count @@ -694,7 +702,7 @@ Secteur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -706,7 +714,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -722,7 +730,7 @@ Secteurs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -738,7 +746,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -750,7 +758,7 @@ Équivalence de Symboles apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -758,11 +766,11 @@ Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -946,7 +954,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -974,7 +982,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -1058,7 +1066,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -1070,7 +1078,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -1082,7 +1090,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -1098,7 +1106,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -1118,11 +1126,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1254,7 +1262,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -1262,7 +1270,7 @@ Moi apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -1270,7 +1278,7 @@ Mon Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -1278,7 +1286,7 @@ À propos de Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1294,7 +1302,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1310,7 +1318,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1326,7 +1334,7 @@ Se connecter apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1338,7 +1346,7 @@ Démarrer apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -1925,7 +1933,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -1965,7 +1973,7 @@ Voulez-vous vraiment supprimer cette méthode de connexion ? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -2037,7 +2045,7 @@ Devise de Base apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -2045,7 +2053,7 @@ Langue apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2057,27 +2065,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -2089,7 +2097,7 @@ Paramètres régionaux apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -2097,7 +2105,7 @@ Format de date et d'heure apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -2105,7 +2113,7 @@ Apparence apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2113,7 +2121,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2121,7 +2129,7 @@ Clair apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2129,7 +2137,7 @@ Sombre apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -2137,7 +2145,7 @@ Mode Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -2149,7 +2157,7 @@ Se connecter avec empreinte apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -2157,7 +2165,7 @@ Fonctionnalités expérimentales apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2165,7 +2173,7 @@ ID d'utilisateur apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -2229,7 +2237,7 @@ ID du compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2485,7 +2493,7 @@ Nom, symbole, ou ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2571,6 +2579,10 @@ Import Importer + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3125,7 +3137,7 @@ Différence avec le Record Historique libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -3133,7 +3145,7 @@ par rapport au record historique libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -3513,7 +3525,7 @@ Expérience sans distraction pour les périodes tumultueuses apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3521,7 +3533,7 @@ Avant-première de fonctionnalités futures apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4369,7 +4381,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7669,7 +7681,7 @@ Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7753,7 +7765,7 @@ Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10156,14 +10168,6 @@ 7 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Choose or drop a file here @@ -10313,7 +10317,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10393,7 +10397,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10401,7 +10405,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio est un dashboard de finances personnelles qui permet de suivre vos actifs comme les actions, les ETF ou les crypto-monnaies sur plusieurs plateformes. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 248d3f9ec..1712694d3 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -31,7 +31,7 @@ Beneficiario apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -39,7 +39,7 @@ Tipo apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -63,7 +63,7 @@ Dettagli apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -71,7 +71,7 @@ Revoca apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -79,7 +79,7 @@ Vuoi davvero revocare l'accesso concesso? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -99,7 +99,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -283,7 +283,7 @@ Elimina i lavori apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 @@ -291,7 +291,7 @@ Simbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -299,7 +299,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -307,7 +311,7 @@ Sorgente dei dati apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -323,7 +327,7 @@ Tentativi apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -331,7 +335,7 @@ Creato apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -339,7 +343,7 @@ Finito apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -347,23 +351,23 @@ Stato apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 - - Asset Profile - Profilo dell'asset + + Asset Profiles + Profilo dell'asset - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Dati storici del mercato + + Historical Market Data + Dati storici del mercato apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -371,7 +375,7 @@ Visualizza i dati apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -379,7 +383,7 @@ Visualizza Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -387,7 +391,7 @@ Elimina il lavoro apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -435,11 +439,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -455,7 +459,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -479,11 +483,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -499,7 +503,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -515,7 +519,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -537,6 +541,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Please add a currency: @@ -711,7 +719,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -755,7 +763,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -767,7 +775,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -787,7 +795,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -803,7 +811,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -819,7 +827,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -839,11 +847,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -975,7 +983,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -983,7 +991,7 @@ Io apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -991,7 +999,7 @@ Il mio Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -999,7 +1007,7 @@ Informazioni su Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1015,7 +1023,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1031,7 +1039,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1167,7 +1175,7 @@ Accedi apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1354,7 +1362,7 @@ Settori apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1370,7 +1378,7 @@ Paesi apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1698,7 +1706,7 @@ Vuoi davvero rimuovere questo metodo di accesso? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -1770,7 +1778,7 @@ Valuta base apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -1778,7 +1786,7 @@ Locale apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -1786,7 +1794,7 @@ Formato data e numero apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -1794,7 +1802,7 @@ Modalità Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -1806,7 +1814,7 @@ Accesso con impronta digitale apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -1814,7 +1822,7 @@ ID utente apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -1882,7 +1890,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1926,7 +1934,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1934,7 +1942,7 @@ ID account apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2250,7 +2258,7 @@ Nome, simbolo o ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2310,11 +2318,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2330,7 +2338,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2570,7 +2578,7 @@ Variazione rispetto al massimo storico (ATH) libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -2578,7 +2586,7 @@ dal massimo storico (ATH) libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -2602,7 +2610,7 @@ Lingua apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2610,7 +2618,7 @@ Inizia apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -2678,7 +2686,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2734,7 +2742,7 @@ Settore apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2746,7 +2754,7 @@ Paese apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -2886,7 +2894,7 @@ Filtra per... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -2910,7 +2918,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -2922,7 +2930,7 @@ Funzionalità sperimentali apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2962,7 +2970,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -2970,7 +2978,7 @@ Aspetto apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2978,7 +2986,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2986,7 +2994,7 @@ Chiaro apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2994,7 +3002,7 @@ Scuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -3258,27 +3266,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -3306,7 +3314,7 @@ Mappatura dei simboli apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -3356,6 +3364,10 @@ Import Importa + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3514,7 +3526,7 @@ Esperienza priva di distrazioni per i periodi più turbolenti apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3522,7 +3534,7 @@ Un'anteprima delle funzionalità in arrivo apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4370,7 +4382,7 @@ Configurazione dello scraper apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7670,7 +7682,7 @@ Autenticazione biometrica apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7754,7 +7766,7 @@ Esporta dati apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10157,14 +10169,6 @@ 7 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Choose or drop a file here @@ -10314,7 +10318,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10394,7 +10398,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10402,7 +10406,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio è un dashboard di finanza personale per tenere traccia delle vostre attività come azioni, ETF o criptovalute su più piattaforme. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 649f07f15..f424ee349 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -30,7 +30,7 @@ Ontvanger apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -38,7 +38,7 @@ Type apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -62,7 +62,7 @@ Details apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -70,7 +70,7 @@ Intrekken apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -78,7 +78,7 @@ Wil je deze verleende toegang echt intrekken? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -98,7 +98,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -282,7 +282,7 @@ Taken verwijderen apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 @@ -290,7 +290,7 @@ Symbool apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -298,7 +298,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -306,7 +310,7 @@ Gegevensbron apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -322,7 +326,7 @@ Pogingen apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -330,7 +334,7 @@ Aangemaakt apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -338,7 +342,7 @@ Voltooid apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -346,23 +350,23 @@ Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 - - Asset Profile - Asset Profiel + + Asset Profiles + Asset Profiel - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Historische marktgegevens + + Historical Market Data + Historische marktgegevens apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -370,7 +374,7 @@ Bekijk gegevens apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -378,7 +382,7 @@ Bekijk Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -386,7 +390,7 @@ Taak verwijderen apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -434,11 +438,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -454,7 +458,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -478,11 +482,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -498,7 +502,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -514,7 +518,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -536,6 +540,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Please add a currency: @@ -710,7 +718,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -754,7 +762,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -766,7 +774,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -786,7 +794,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -802,7 +810,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -818,7 +826,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -838,11 +846,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -974,7 +982,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -982,7 +990,7 @@ Ik apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -990,7 +998,7 @@ Mijn Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -998,7 +1006,7 @@ Over Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1014,7 +1022,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1030,7 +1038,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1166,7 +1174,7 @@ Aanmelden apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1353,7 +1361,7 @@ Sectoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1369,7 +1377,7 @@ Landen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1697,7 +1705,7 @@ Wil je deze aanmeldingsmethode echt verwijderen? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -1769,7 +1777,7 @@ Basisvaluta apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -1777,7 +1785,7 @@ Locatie apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -1785,7 +1793,7 @@ Datum- en getalnotatie apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -1793,7 +1801,7 @@ Zen-modus apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -1805,7 +1813,7 @@ Aanmelden met vingerafdruk apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -1813,7 +1821,7 @@ Gebruikers-ID apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -1881,7 +1889,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1925,7 +1933,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1933,7 +1941,7 @@ Rekening-ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2249,7 +2257,7 @@ Naam, symbool of ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2309,11 +2317,11 @@ Opmerking apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2329,7 +2337,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2569,7 +2577,7 @@ Verandering van All Time High libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -2577,7 +2585,7 @@ van ATH libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -2601,7 +2609,7 @@ Taal apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2609,7 +2617,7 @@ Aan de slag apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -2677,7 +2685,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2733,7 +2741,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -2745,7 +2753,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -2885,7 +2893,7 @@ Filter op... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -2909,7 +2917,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -2921,7 +2929,7 @@ Experimentele functies apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2961,7 +2969,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -2969,7 +2977,7 @@ Weergave apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2977,7 +2985,7 @@ Automatisch apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2985,7 +2993,7 @@ Licht apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2993,7 +3001,7 @@ Donker apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -3257,27 +3265,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -3305,7 +3313,7 @@ Symbool toewijzen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -3355,6 +3363,10 @@ Import Importeren + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3513,7 +3525,7 @@ Afleidingsvrije ervaring voor roerige tijden apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3521,7 +3533,7 @@ Voorproefje van nieuwe functionaliteit apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4369,7 +4381,7 @@ Scraper instellingen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7669,7 +7681,7 @@ Biometrische authenticatie apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7753,7 +7765,7 @@ Exporteer Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10156,14 +10168,6 @@ 7 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Choose or drop a file here @@ -10313,7 +10317,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10393,7 +10397,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10401,7 +10405,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio is een persoonlijk financieel dashboard om uw activa zoals aandelen, ETF’s of cryptocurrencies over meerdere platforms bij te houden. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index f5050eab8..15db8b5c7 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -14,7 +14,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -26,7 +26,7 @@ Beneficiário (a) apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -34,7 +34,7 @@ Tipo apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -58,7 +58,7 @@ Detalhes apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -66,7 +66,7 @@ Revogar apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -74,7 +74,7 @@ Pretende realmente revogar este acesso concedido? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -90,7 +90,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -110,7 +110,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -190,7 +190,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -334,7 +334,7 @@ Símbolo apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -342,7 +342,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -350,7 +354,7 @@ Fonte de dados apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -366,7 +370,7 @@ Tentativas apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -374,7 +378,7 @@ Criado apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -382,7 +386,7 @@ Terminado apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -390,7 +394,7 @@ Estado apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 @@ -398,23 +402,23 @@ Eliminar Tarefas apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 - - Asset Profile - Perfil de Ativos + + Asset Profiles + Perfil de Ativos - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Histórico de Dados de Mercado + + Historical Market Data + Histórico de Dados de Mercado apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -422,7 +426,7 @@ Visualizar dados apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -430,7 +434,7 @@ Ver Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -438,7 +442,7 @@ Apagar Tarefa apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -486,11 +490,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -506,7 +510,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -530,11 +534,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -550,7 +554,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -562,7 +566,7 @@ Filtrar por... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -574,7 +578,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -594,7 +598,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -614,7 +618,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -636,6 +640,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Countries Count @@ -826,7 +834,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -854,7 +862,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -938,7 +946,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -950,7 +958,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -962,7 +970,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -978,7 +986,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -998,11 +1006,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1134,7 +1142,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -1142,7 +1150,7 @@ Eu apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -1150,7 +1158,7 @@ O meu Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -1158,7 +1166,7 @@ Sobre o Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1174,7 +1182,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -1190,7 +1198,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -1206,7 +1214,7 @@ Iniciar sessão apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1218,7 +1226,7 @@ Começar apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -1653,7 +1661,7 @@ Setor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1665,7 +1673,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -1681,7 +1689,7 @@ Setores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1697,7 +1705,7 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1909,7 +1917,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -1949,7 +1957,7 @@ Deseja realmente remover este método de início de sessão? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -2021,7 +2029,7 @@ Moeda Base apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -2029,7 +2037,7 @@ Língua apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -2049,7 +2057,7 @@ Localidade apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -2057,7 +2065,7 @@ Formato de números e datas apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -2065,7 +2073,7 @@ Modo Zen apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -2077,7 +2085,7 @@ Aparência apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -2085,7 +2093,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -2093,7 +2101,7 @@ Claro apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -2101,7 +2109,7 @@ Escuro apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -2109,7 +2117,7 @@ Iniciar sessão com impressão digital apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -2117,7 +2125,7 @@ Funcionalidades Experimentais apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -2125,7 +2133,7 @@ ID do Utilizador apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -2189,7 +2197,7 @@ ID da Conta apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -2405,7 +2413,7 @@ Nome, símbolo or ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2449,11 +2457,11 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -3009,7 +3017,7 @@ Diferença desde o Máximo Histórico libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -3017,7 +3025,7 @@ a partir do ATH (All Time High) libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -3293,7 +3301,7 @@ Mapeamento de Símbolo apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -3313,27 +3321,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -3375,6 +3383,10 @@ Import Importar + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -3513,7 +3525,7 @@ Experiência sem distrações para tempos turbulentos apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -3521,7 +3533,7 @@ Acesso antecipado a funcionalidades futuras apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -4369,7 +4381,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -7669,7 +7681,7 @@ Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -7753,7 +7765,7 @@ Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -10156,14 +10168,6 @@ 7 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Choose or drop a file here Choose or drop a file here @@ -10313,7 +10317,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10393,7 +10397,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10401,7 +10405,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio é um dashboard de finanças pessoais para acompanhar os seus activos como acções, ETFs ou criptomoedas em múltiplas plataformas. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 6c9b733c5..e0ca1f05f 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -722,7 +722,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -746,7 +746,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -766,7 +766,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -870,7 +870,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -910,11 +910,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1054,27 +1054,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -1094,7 +1094,7 @@ Takma Ad apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -1106,7 +1106,7 @@ Hibe Alan / Alıcı apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 @@ -1114,7 +1114,7 @@ Tip apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -1138,7 +1138,7 @@ Ayrıntılar apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 @@ -1146,7 +1146,7 @@ Geri Al apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 @@ -1154,7 +1154,7 @@ Bu erişim iznini geri almayı gerçekten istiyor musunuz? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -1194,7 +1194,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1214,7 +1214,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1294,7 +1294,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1422,7 +1422,7 @@ Sembol apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1430,7 +1430,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 @@ -1438,7 +1442,7 @@ Veri Kaynağı apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1454,7 +1458,7 @@ Deneme apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 @@ -1462,7 +1466,7 @@ Oluşturuldu apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 @@ -1470,7 +1474,7 @@ Tamamlandı apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 @@ -1478,7 +1482,7 @@ Durum apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 @@ -1486,23 +1490,23 @@ İşleri Sil apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 - - Asset Profile - Varlık Profili + + Asset Profiles + Varlık Profili - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data - Tarihsel Piyasa Verisi + + Historical Market Data + Tarihsel Piyasa Verisi apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 @@ -1510,7 +1514,7 @@ Veri Gör apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 @@ -1518,7 +1522,7 @@ Hata İzini Görüntüle apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 @@ -1526,7 +1530,7 @@ İşleri Sil apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -1574,11 +1578,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -1594,7 +1598,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -1618,11 +1622,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -1638,7 +1642,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1674,7 +1678,7 @@ Filtrele... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -1686,7 +1690,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1706,7 +1710,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1726,7 +1730,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -1748,6 +1752,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Sectors Count @@ -1814,7 +1822,7 @@ Sektör apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1826,7 +1834,7 @@ Ülke apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -1842,7 +1850,7 @@ Sektörler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1858,7 +1866,7 @@ Ülkeler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1870,7 +1878,7 @@ Sembol Eşleştirme apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 @@ -1878,7 +1886,7 @@ Veri Toplayıcı Yapılandırması apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 @@ -1886,11 +1894,11 @@ Not apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1910,7 +1918,7 @@ Ad, sembol ya da ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2114,7 +2122,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -2170,7 +2178,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -2282,7 +2290,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -2294,7 +2302,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -2306,7 +2314,7 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 @@ -2314,7 +2322,7 @@ Ben apps/client/src/app/components/header/header.component.html - 170 + 173 @@ -2322,7 +2330,7 @@ Ghostfolio'm apps/client/src/app/components/header/header.component.html - 228 + 231 @@ -2330,7 +2338,7 @@ Ghostfolio Hakkında apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2342,7 +2350,7 @@ Giriş apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2354,7 +2362,7 @@ Haydi Başlayalım apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -3237,7 +3245,7 @@ Account ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -3457,7 +3465,7 @@ Zen Mode apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -4167,6 +4175,10 @@ Import Import + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -9261,7 +9273,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -9301,7 +9313,7 @@ Do you really want to remove this sign in method? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -9385,7 +9397,7 @@ Base Currency apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 @@ -9393,7 +9405,7 @@ Language apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 @@ -9401,7 +9413,7 @@ Locale apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 @@ -9409,7 +9421,7 @@ Date and number format apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 @@ -9417,7 +9429,7 @@ Appearance apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 @@ -9425,7 +9437,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 @@ -9433,7 +9445,7 @@ Light apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 @@ -9441,7 +9453,7 @@ Dark apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 @@ -9449,7 +9461,7 @@ Distraction-free experience for turbulent times apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 @@ -9457,7 +9469,7 @@ Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 @@ -9465,7 +9477,7 @@ Sign in with fingerprint apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 @@ -9473,7 +9485,7 @@ Experimental Features apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 @@ -9481,7 +9493,7 @@ Sneak peek at upcoming functionality apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 @@ -9489,7 +9501,7 @@ User ID apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 @@ -9497,7 +9509,7 @@ Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -9641,7 +9653,7 @@ Change from All Time High libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 @@ -9649,7 +9661,7 @@ from ATH libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -10128,14 +10140,6 @@ 17 - - Add Access - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - Interest Interest @@ -10313,7 +10317,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -10393,7 +10397,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -10401,7 +10405,59 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 + + + + Asset Profile + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Do you really want to delete this asset profile? + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Add Manually + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + Ghostfolio, hisse senetleri, ETF’ler veya kripto para birimleri gibi varlıklarınızı birden fazla platformda takip etmenizi sağlayan bir kişisel finans panosudur. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + + + Last All Time High + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 512ad60e2..1edb3b26a 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -712,7 +712,7 @@ apps/client/src/app/components/header/header.component.html - 345 + 348 apps/client/src/app/components/home-market/home-market.html @@ -735,7 +735,7 @@ apps/client/src/app/components/header/header.component.html - 248 + 251 apps/client/src/app/pages/resources/resources-page.html @@ -754,7 +754,7 @@ apps/client/src/app/components/header/header.component.html - 316 + 319 @@ -855,7 +855,7 @@ apps/client/src/app/components/header/header.component.html - 303 + 306 apps/client/src/app/pages/features/features-page.html @@ -892,11 +892,11 @@ apps/client/src/app/components/header/header.component.html - 260 + 263 apps/client/src/app/components/header/header.component.html - 329 + 332 apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html @@ -1034,27 +1034,27 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 61 + 62 apps/client/src/app/components/user-account-settings/user-account-settings.html - 65 + 66 apps/client/src/app/components/user-account-settings/user-account-settings.html - 69 + 70 apps/client/src/app/components/user-account-settings/user-account-settings.html - 73 + 74 apps/client/src/app/components/user-account-settings/user-account-settings.html - 77 + 78 apps/client/src/app/components/user-account-settings/user-account-settings.html - 81 + 82 apps/client/src/app/pages/features/features-page.html @@ -1072,7 +1072,7 @@ Alias apps/client/src/app/components/access-table/access-table.component.html - 15 + 3 apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html @@ -1083,14 +1083,14 @@ Grantee apps/client/src/app/components/access-table/access-table.component.html - 22 + 10 Type apps/client/src/app/components/access-table/access-table.component.html - 29 + 17 apps/client/src/app/components/admin-jobs/admin-jobs.html @@ -1113,21 +1113,21 @@ Details apps/client/src/app/components/access-table/access-table.component.html - 39 + 27 Revoke apps/client/src/app/components/access-table/access-table.component.html - 66 + 54 Do you really want to revoke this granted access? apps/client/src/app/components/access-table/access-table.component.ts - 50 + 49 @@ -1164,7 +1164,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 44 + 46 @@ -1183,7 +1183,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 81 + 111 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1260,7 +1260,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 92 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1383,7 +1383,7 @@ Symbol apps/client/src/app/components/admin-jobs/admin-jobs.html - 50 + 45 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1391,14 +1391,18 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 57 + 87 + + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 34 Data Source apps/client/src/app/components/admin-jobs/admin-jobs.html - 59 + 54 apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -1413,70 +1417,70 @@ Attempts apps/client/src/app/components/admin-jobs/admin-jobs.html - 68 + 63 Created apps/client/src/app/components/admin-jobs/admin-jobs.html - 77 + 72 Finished apps/client/src/app/components/admin-jobs/admin-jobs.html - 86 + 81 Status apps/client/src/app/components/admin-jobs/admin-jobs.html - 95 + 90 Delete Jobs apps/client/src/app/components/admin-jobs/admin-jobs.html - 140 + 135 - - Asset Profile + + Asset Profiles - apps/client/src/app/components/admin-jobs/admin-jobs.html - 37 + libs/ui/src/lib/assistant/assistant.html + 67 - - Historical Market Data + + Historical Market Data apps/client/src/app/components/admin-jobs/admin-jobs.html - 42 + 37,39 View Data apps/client/src/app/components/admin-jobs/admin-jobs.html - 155 + 150 View Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html - 162 + 157 Delete Job apps/client/src/app/components/admin-jobs/admin-jobs.html - 165 + 160 @@ -1520,11 +1524,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 195 + 225 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 18 + 40 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -1540,7 +1544,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 95 + 97 apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -1563,11 +1567,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 232 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 25 + 47 apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html @@ -1583,7 +1587,7 @@ apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 102 + 104 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1615,7 +1619,7 @@ Filter by... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 269 + 279 @@ -1626,7 +1630,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 86 + 116 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1645,7 +1649,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 95 + 125 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1664,7 +1668,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 72 + 102 libs/ui/src/lib/holdings-table/holdings-table.component.html @@ -1684,6 +1688,10 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html 78 + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 58 + Sectors Count @@ -1742,7 +1750,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 110 + 140 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1753,7 +1761,7 @@ Country apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 119 + 149 apps/client/src/app/components/admin-users/admin-users.html @@ -1768,7 +1776,7 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 155 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1783,7 +1791,7 @@ Countries apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 135 + 165 apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -1794,25 +1802,25 @@ Symbol Mapping apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 160 + 190 Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 171 + 201 Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 182 + 212 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 72 + 74 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1830,7 +1838,7 @@ Name, symbol or ISIN apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html - 10 + 25 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -2012,7 +2020,7 @@ apps/client/src/app/components/header/header.component.html - 221 + 224 apps/client/src/app/pages/accounts/accounts-page.html @@ -2062,7 +2070,7 @@ apps/client/src/app/components/header/header.component.html - 189 + 192 @@ -2162,7 +2170,7 @@ apps/client/src/app/components/header/header.component.html - 203 + 206 @@ -2173,7 +2181,7 @@ apps/client/src/app/components/header/header.component.html - 213 + 216 @@ -2184,28 +2192,28 @@ apps/client/src/app/components/header/header.component.html - 237 + 240 Me apps/client/src/app/components/header/header.component.html - 170 + 173 My Ghostfolio apps/client/src/app/components/header/header.component.html - 228 + 231 About Ghostfolio apps/client/src/app/components/header/header.component.html - 268 + 271 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2216,7 +2224,7 @@ Sign in apps/client/src/app/components/header/header.component.html - 358 + 361 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2227,7 +2235,7 @@ Get started apps/client/src/app/components/header/header.component.html - 370 + 373 @@ -3022,7 +3030,7 @@ Account ID apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html - 89 + 91 @@ -3219,7 +3227,7 @@ Zen Mode apps/client/src/app/components/user-account-settings/user-account-settings.html - 136 + 137 apps/client/src/app/pages/features/features-page.html @@ -3883,6 +3891,10 @@ Import + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 80 + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html 150 @@ -8872,7 +8884,7 @@ Auto apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 35 + 31 @@ -8907,7 +8919,7 @@ Do you really want to remove this sign in method? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 184 + 181 @@ -8970,105 +8982,105 @@ Base Currency apps/client/src/app/components/user-account-settings/user-account-settings.html - 26 + 27 Language apps/client/src/app/components/user-account-settings/user-account-settings.html - 47 + 48 Locale apps/client/src/app/components/user-account-settings/user-account-settings.html - 90 + 91 Date and number format apps/client/src/app/components/user-account-settings/user-account-settings.html - 92 + 93 Appearance apps/client/src/app/components/user-account-settings/user-account-settings.html - 113 + 114 Auto apps/client/src/app/components/user-account-settings/user-account-settings.html - 125 + 126 Light apps/client/src/app/components/user-account-settings/user-account-settings.html - 126 + 127 Dark apps/client/src/app/components/user-account-settings/user-account-settings.html - 127 + 128 Distraction-free experience for turbulent times apps/client/src/app/components/user-account-settings/user-account-settings.html - 137,139 + 138,140 Biometric Authentication apps/client/src/app/components/user-account-settings/user-account-settings.html - 152 + 154 Sign in with fingerprint apps/client/src/app/components/user-account-settings/user-account-settings.html - 153 + 155 Experimental Features apps/client/src/app/components/user-account-settings/user-account-settings.html - 169 + 172 Sneak peek at upcoming functionality apps/client/src/app/components/user-account-settings/user-account-settings.html - 170,172 + 173,175 User ID apps/client/src/app/components/user-account-settings/user-account-settings.html - 184 + 188 Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html - 191 + 195 @@ -9196,14 +9208,14 @@ Change from All Time High libs/ui/src/lib/benchmark/benchmark.component.html - 12 + 31 from ATH libs/ui/src/lib/benchmark/benchmark.component.html - 14 + 33 @@ -9624,13 +9636,6 @@ 85 - - Add Access - - apps/client/src/app/components/access-table/access-table.component.html - 8,10 - - You are using the Live Demo. @@ -9744,7 +9749,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 154 + 184 @@ -9769,7 +9774,7 @@ Find holding... libs/ui/src/lib/assistant/assistant.component.ts - 87 + 89 @@ -9826,7 +9831,11 @@ No entries... libs/ui/src/lib/assistant/assistant.html - 62 + 63 + + + libs/ui/src/lib/assistant/assistant.html + 84 @@ -9836,6 +9845,48 @@ 11 + + Asset Profile + + apps/client/src/app/components/admin-jobs/admin-jobs.html + 31,33 + + + + Last All Time High + + libs/ui/src/lib/benchmark/benchmark.component.html + 15 + + + + Add Manually + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 19 + + + + Do you really want to delete this asset profile? + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 182 + + + + Search + + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html + 16 + + + + Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms. + + apps/client/src/app/pages/i18n/i18n-page.html + 4,7 + + From 73ac4b41975e12f91a860205d4d13cdec424549e Mon Sep 17 00:00:00 2001 From: Basim Mohammed <107759928+Basimohd@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:21:31 +0530 Subject: [PATCH 31/47] Add chart to account detail dialog (#2502) * Add chart to account detail dialog * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 6 +++ .../account-detail-dialog.component.scss | 4 ++ .../account-detail-dialog.component.ts | 50 +++++++++++++++++-- .../account-detail-dialog.html | 11 ++++ .../account-detail-dialog.module.ts | 2 + 5 files changed, 69 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8b280ac2..b1f881dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Added + +- Added a chart to the account detail dialog + ## 2.12.0 - 2023-10-17 ### Added diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.scss b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.scss index b63df0134..8831fb01d 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.scss +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.scss @@ -3,5 +3,9 @@ .mat-mdc-dialog-content { max-height: unset; + + .chart-container { + aspect-ratio: 16 / 9; + } } } diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts index 3a4746b6b..756df74cf 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts @@ -8,11 +8,11 @@ import { } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DataService } from '@ghostfolio/client/services/data.service'; +import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { downloadAsFile } from '@ghostfolio/common/helper'; -import { User } from '@ghostfolio/common/interfaces'; +import { HistoricalDataItem, User } from '@ghostfolio/common/interfaces'; import { OrderWithAccount } from '@ghostfolio/common/types'; -import { translate } from '@ghostfolio/ui/i18n'; import Big from 'big.js'; import { format, parseISO } from 'date-fns'; import { isNumber } from 'lodash'; @@ -32,6 +32,9 @@ export class AccountDetailDialog implements OnDestroy, OnInit { public balance: number; public currency: string; public equity: number; + public hasImpersonationId: boolean; + public historicalDataItems: HistoricalDataItem[]; + public isLoadingChart: boolean; public name: string; public orders: OrderWithAccount[]; public platformName: string; @@ -46,6 +49,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit { @Inject(MAT_DIALOG_DATA) public data: AccountDetailDialogParams, private dataService: DataService, public dialogRef: MatDialogRef, + private impersonationStorageService: ImpersonationStorageService, private userService: UserService ) { this.userService.stateChanged @@ -59,7 +63,9 @@ export class AccountDetailDialog implements OnDestroy, OnInit { }); } - public ngOnInit(): void { + public ngOnInit() { + this.isLoadingChart = true; + this.dataService .fetchAccount(this.data.accountId) .pipe(takeUntil(this.unsubscribeSubject)) @@ -101,9 +107,45 @@ export class AccountDetailDialog implements OnDestroy, OnInit { this.changeDetectorRef.markForCheck(); }); + + this.dataService + .fetchPortfolioPerformance({ + filters: [ + { + id: this.data.accountId, + type: 'ACCOUNT' + } + ], + range: 'max' + }) + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe(({ chart }) => { + this.historicalDataItems = chart.map( + ({ date, value, valueInPercentage }) => { + return { + date, + value: + this.hasImpersonationId || this.user.settings.isRestrictedView + ? valueInPercentage + : value + }; + } + ); + + this.isLoadingChart = false; + + this.changeDetectorRef.markForCheck(); + }); + + this.impersonationStorageService + .onChangeHasImpersonation() + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((impersonationId) => { + this.hasImpersonationId = !!impersonationId; + }); } - public onClose(): void { + public onClose() { this.dialogRef.close(); } diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html index 46a5ee7b0..02d1c917e 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html @@ -20,6 +20,17 @@
+
+ +
+
Date: Thu, 19 Oct 2023 20:28:01 +0530 Subject: [PATCH 32/47] Migrated users table in Admin Control to mat-table (#2469) * Migrated users table in Admin Control to mat-table * Update changelog --- CHANGELOG.md | 4 + .../admin-users/admin-users.component.ts | 30 +- .../components/admin-users/admin-users.html | 344 +++++++++++------- .../admin-users/admin-users.module.ts | 4 +- 4 files changed, 255 insertions(+), 127 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1f881dc5..caf00d539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added a chart to the account detail dialog +### Changed + +- Changed the users table in the admin control panel to an `@angular/material` data table + ## 2.12.0 - 2023-10-17 ### Added diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts index 48783c91b..7cccfe2f7 100644 --- a/apps/client/src/app/components/admin-users/admin-users.component.ts +++ b/apps/client/src/app/components/admin-users/admin-users.component.ts @@ -1,4 +1,5 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; +import { MatTableDataSource } from '@angular/material/table'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; @@ -20,13 +21,15 @@ import { takeUntil } from 'rxjs/operators'; templateUrl: './admin-users.html' }) export class AdminUsersComponent implements OnDestroy, OnInit { + public dataSource: MatTableDataSource = + new MatTableDataSource(); public defaultDateFormat: string; + public displayedColumns: string[] = []; public getEmojiFlag = getEmojiFlag; public hasPermissionForSubscription: boolean; public hasPermissionToImpersonateAllUsers: boolean; public info: InfoItem; public user: User; - public users: AdminData['users']; private unsubscribeSubject = new Subject(); @@ -44,6 +47,29 @@ export class AdminUsersComponent implements OnDestroy, OnInit { permissions.enableSubscription ); + if (this.hasPermissionForSubscription) { + this.displayedColumns = [ + 'index', + 'user', + 'country', + 'registration', + 'accounts', + 'activities', + 'engagementPerDay', + 'lastRequest', + 'actions' + ]; + } else { + this.displayedColumns = [ + 'index', + 'user', + 'registration', + 'accounts', + 'activities', + 'actions' + ]; + } + this.userService.stateChanged .pipe(takeUntil(this.unsubscribeSubject)) .subscribe((state) => { @@ -118,7 +144,7 @@ export class AdminUsersComponent implements OnDestroy, OnInit { .fetchAdminData() .pipe(takeUntil(this.unsubscribeSubject)) .subscribe(({ users }) => { - this.users = users; + this.dataSource = new MatTableDataSource(users); this.changeDetectorRef.markForCheck(); }); diff --git a/apps/client/src/app/components/admin-users/admin-users.html b/apps/client/src/app/components/admin-users/admin-users.html index 71166a6e1..b6e296b95 100644 --- a/apps/client/src/app/components/admin-users/admin-users.html +++ b/apps/client/src/app/components/admin-users/admin-users.html @@ -2,136 +2,232 @@
-
Alias - - - - Asset Profile - - - Historical Market Data - - + + Asset Profile + + + Historical Market Data + + Last All Time High + +
+ +
+
+ Change from All Time High from ATH + 0 }" - [value]=" - element?.performances?.allTimeHigh?.performancePercent ?? undefined - " + [value]="element?.performances?.allTimeHigh?.performancePercent" >
- - - - - - - - - - - - - - - - - - + + + + + + - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + +
#User - Country - - Registration - - Accounts - - Activities - - Engagement per Day - - Last Request -
{{ i + 1 }} -
- {{ userItem.id }} - {{ (userItem.id | slice:0:5) + '...' }} - -
-
- {{ getEmojiFlag(userItem.country) }} + + + # + + {{ i + 1 }} + + User + +
+ {{ element.id }} + {{ (element.id | slice:0:5) + '...' }} -
- {{ formatDistanceToNow(userItem.createdAt) }} - - - - - + + + Country + + {{ getEmojiFlag(element.country) }} - - + + + + + Registration + + {{ formatDistanceToNow(element.createdAt) }} + + Accounts + + + + Activities + + + + Engagement per Day + + + + Last Request + + {{ formatDistanceToNow(element.lastActivity) }} + + + + + + - - - - -
diff --git a/apps/client/src/app/components/admin-users/admin-users.module.ts b/apps/client/src/app/components/admin-users/admin-users.module.ts index 8c381b205..689b39787 100644 --- a/apps/client/src/app/components/admin-users/admin-users.module.ts +++ b/apps/client/src/app/components/admin-users/admin-users.module.ts @@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatMenuModule } from '@angular/material/menu'; +import { MatTableModule } from '@angular/material/table'; import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfValueModule } from '@ghostfolio/ui/value'; @@ -15,7 +16,8 @@ import { AdminUsersComponent } from './admin-users.component'; GfPremiumIndicatorModule, GfValueModule, MatButtonModule, - MatMenuModule + MatMenuModule, + MatTableModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }) From 29028a81f5dab592a6af571af14940744fb60a50 Mon Sep 17 00:00:00 2001 From: Aldrin <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:43:40 +0530 Subject: [PATCH 33/47] Add i18n service to query XML files (#2503) * Add i18n service to query XML files * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + .../middlewares/html-template.middleware.ts | 19 ++---- apps/api/src/services/i18n/i18n.service.ts | 67 +++++++++++++++++++ 3 files changed, 75 insertions(+), 12 deletions(-) create mode 100644 apps/api/src/services/i18n/i18n.service.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index caf00d539..e3c00bdc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added a chart to the account detail dialog +- Added an `i18n` service to query `messages.*.xlf` files on the server ### Changed diff --git a/apps/api/src/middlewares/html-template.middleware.ts b/apps/api/src/middlewares/html-template.middleware.ts index 9d44bdbe0..f0358eca6 100644 --- a/apps/api/src/middlewares/html-template.middleware.ts +++ b/apps/api/src/middlewares/html-template.middleware.ts @@ -2,6 +2,7 @@ import * as fs from 'fs'; import { join } from 'path'; import { environment } from '@ghostfolio/api/environments/environment'; +import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; import { DEFAULT_LANGUAGE_CODE, DEFAULT_ROOT_URL, @@ -11,20 +12,11 @@ import { DATE_FORMAT, interpolate } from '@ghostfolio/common/helper'; import { format } from 'date-fns'; import { NextFunction, Request, Response } from 'express'; -const descriptions = { - de: 'Mit dem Finanz-Dashboard Ghostfolio können Sie Ihr Vermögen in Form von Aktien, ETFs oder Kryptowährungen verteilt über mehrere Finanzinstitute überwachen.', - en: 'Ghostfolio is a personal finance dashboard to keep track of your assets like stocks, ETFs or cryptocurrencies across multiple platforms.', - es: 'Ghostfolio es un dashboard de finanzas personales para hacer un seguimiento de tus activos como acciones, ETFs o criptodivisas a través de múltiples plataformas.', - fr: 'Ghostfolio est un dashboard de finances personnelles qui permet de suivre vos actifs comme les actions, les ETF ou les crypto-monnaies sur plusieurs plateformes.', - it: 'Ghostfolio è un dashboard di finanza personale per tenere traccia delle vostre attività come azioni, ETF o criptovalute su più piattaforme.', - nl: 'Ghostfolio is een persoonlijk financieel dashboard om uw activa zoals aandelen, ETF’s of cryptocurrencies over meerdere platforms bij te houden.', - pt: 'Ghostfolio é um dashboard de finanças pessoais para acompanhar os seus activos como acções, ETFs ou criptomoedas em múltiplas plataformas.', - tr: 'Ghostfolio, hisse senetleri, ETF’ler veya kripto para birimleri gibi varlıklarınızı birden fazla platformda takip etmenizi sağlayan bir kişisel finans panosudur.' -}; - const title = 'Ghostfolio – Open Source Wealth Management Software'; const titleShort = 'Ghostfolio'; +const i18nService = new I18nService(); + let indexHtmlMap: { [languageCode: string]: string } = {}; try { @@ -130,7 +122,10 @@ export const HtmlTemplateMiddleware = async ( languageCode, path, rootUrl, - description: descriptions[languageCode], + description: i18nService.getTranslation({ + languageCode, + id: 'metaDescription' + }), featureGraphicPath: locales[path]?.featureGraphicPath ?? 'assets/cover.png', title: locales[path]?.title ?? title diff --git a/apps/api/src/services/i18n/i18n.service.ts b/apps/api/src/services/i18n/i18n.service.ts new file mode 100644 index 000000000..35c7b638d --- /dev/null +++ b/apps/api/src/services/i18n/i18n.service.ts @@ -0,0 +1,67 @@ +import { readFileSync, readdirSync } from 'fs'; +import { join } from 'path'; + +import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; +import { Logger } from '@nestjs/common'; +import * as cheerio from 'cheerio'; + +export class I18nService { + private localesPath = join(__dirname, 'assets', 'locales'); + private translations: { [locale: string]: cheerio.CheerioAPI } = {}; + + public constructor() { + this.loadFiles(); + } + + public getTranslation({ + id, + languageCode + }: { + id: string; + languageCode: string; + }): string { + const $ = this.translations[languageCode]; + + if (!$) { + Logger.warn(`Translation not found for locale '${languageCode}'`); + } + + const translatedText = $( + `trans-unit[id="${id}"] > ${ + languageCode === DEFAULT_LANGUAGE_CODE ? 'source' : 'target' + }` + ).text(); + + if (!translatedText) { + Logger.warn( + `Translation not found for id '${id}' in locale '${languageCode}'` + ); + } + + return translatedText; + } + + private loadFiles() { + try { + const files = readdirSync(this.localesPath, 'utf-8'); + + for (const file of files) { + const xmlData = readFileSync(join(this.localesPath, file), 'utf8'); + this.translations[this.parseLanguageCode(file)] = + this.parseXml(xmlData); + } + } catch (error) { + Logger.error(error, 'I18nService'); + } + } + + private parseLanguageCode(aFileName: string) { + const match = aFileName.match(/\.([a-zA-Z]+)\.xlf$/); + + return match ? match[1] : DEFAULT_LANGUAGE_CODE; + } + + private parseXml(xmlData: string): cheerio.CheerioAPI { + return cheerio.load(xmlData, { xmlMode: true }); + } +} From f66edf8de04bcda892ab83b9b458e1d5256853d4 Mon Sep 17 00:00:00 2001 From: Basim Mohammed <107759928+Basimohd@users.noreply.github.com> Date: Fri, 20 Oct 2023 11:48:34 +0530 Subject: [PATCH 34/47] Add membership card component (#2507) * Add membership card component * Update changelog --------- Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com> --- CHANGELOG.md | 1 + .../user-account-membership.html | 18 ++++--------- .../user-account-membership.module.ts | 2 ++ libs/ui/src/lib/logo/logo.component.html | 6 ++++- libs/ui/src/lib/logo/logo.component.ts | 1 + libs/ui/src/lib/membership-card/index.ts | 1 + .../membership-card.component.html | 25 +++++++++++++++++++ .../membership-card.component.scss | 24 ++++++++++++++++++ .../membership-card.component.ts | 14 +++++++++++ .../membership-card/membership-card.module.ts | 14 +++++++++++ 10 files changed, 92 insertions(+), 14 deletions(-) create mode 100644 libs/ui/src/lib/membership-card/index.ts create mode 100644 libs/ui/src/lib/membership-card/membership-card.component.html create mode 100644 libs/ui/src/lib/membership-card/membership-card.component.scss create mode 100644 libs/ui/src/lib/membership-card/membership-card.component.ts create mode 100644 libs/ui/src/lib/membership-card/membership-card.module.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index e3c00bdc2..2c7cf1b21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Changed the users table in the admin control panel to an `@angular/material` data table +- Improved the styling of the membership status ## 2.12.0 - 2023-10-17 diff --git a/apps/client/src/app/components/user-account-membership/user-account-membership.html b/apps/client/src/app/components/user-account-membership/user-account-membership.html index 1681e3e16..191c63184 100644 --- a/apps/client/src/app/components/user-account-membership/user-account-membership.html +++ b/apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -2,21 +2,13 @@

Membership

+
- -
- Valid until {{ - user?.subscription?.expiresAt | date: defaultDateFormat }} -
+ > {{ label ?? 'Ghostfolio' }} diff --git a/libs/ui/src/lib/logo/logo.component.ts b/libs/ui/src/lib/logo/logo.component.ts index ecb3885dc..648e771dd 100644 --- a/libs/ui/src/lib/logo/logo.component.ts +++ b/libs/ui/src/lib/logo/logo.component.ts @@ -13,6 +13,7 @@ import { }) export class LogoComponent { @HostBinding('class') @Input() size: 'large' | 'medium' = 'medium'; + @Input() color: string; @Input() label: string; @Input() showLabel = true; diff --git a/libs/ui/src/lib/membership-card/index.ts b/libs/ui/src/lib/membership-card/index.ts new file mode 100644 index 000000000..eccd8c4fd --- /dev/null +++ b/libs/ui/src/lib/membership-card/index.ts @@ -0,0 +1 @@ +export * from './membership-card.module'; diff --git a/libs/ui/src/lib/membership-card/membership-card.component.html b/libs/ui/src/lib/membership-card/membership-card.component.html new file mode 100644 index 000000000..048a6b79a --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.html @@ -0,0 +1,25 @@ + +
+ +
+
+
+
Membership
+
{{ name }}
+
+
+
Valid until
+
+ {{ expiresAt }} +
+
+
+
diff --git a/libs/ui/src/lib/membership-card/membership-card.component.scss b/libs/ui/src/lib/membership-card/membership-card.component.scss new file mode 100644 index 000000000..e9a83a67b --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.scss @@ -0,0 +1,24 @@ +:host { + display: block; + max-width: 25rem; + + .card-item { + aspect-ratio: 1.586; + background-color: #343a40 !important; + border-radius: 1rem; + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); + + &.premium { + background-color: #1d2124 !important; + } + + .card-item-heading { + font-size: 13px; + } + + .card-item-name { + color: rgba(var(--light-primary-text)); + font-size: 18px; + } + } +} diff --git a/libs/ui/src/lib/membership-card/membership-card.component.ts b/libs/ui/src/lib/membership-card/membership-card.component.ts new file mode 100644 index 000000000..0ae760aba --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.ts @@ -0,0 +1,14 @@ +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; + +@Component({ + changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'gf-membership-card', + styleUrls: ['./membership-card.component.scss'], + templateUrl: './membership-card.component.html' +}) +export class MembershipCardComponent { + @Input() public expiresAt: string; + @Input() public name: string; + + public routerLinkPricing = ['/' + $localize`pricing`]; +} diff --git a/libs/ui/src/lib/membership-card/membership-card.module.ts b/libs/ui/src/lib/membership-card/membership-card.module.ts new file mode 100644 index 000000000..4f51cc756 --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.module.ts @@ -0,0 +1,14 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { GfLogoModule } from '@ghostfolio/ui/logo'; + +import { MembershipCardComponent } from './membership-card.component'; + +@NgModule({ + declarations: [MembershipCardComponent], + exports: [MembershipCardComponent], + imports: [CommonModule, GfLogoModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class GfMembershipCardModule {} From e7956943babea4ebbac47c356611accd3808f356 Mon Sep 17 00:00:00 2001 From: Arshad Jamal Date: Fri, 20 Oct 2023 11:51:23 +0530 Subject: [PATCH 35/47] Make holdings request only once (#2453) * Make holdings request only once * Update changelog --- CHANGELOG.md | 4 ++++ .../app/components/home-holdings/home-holdings.component.ts | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c7cf1b21..643df3522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Changed the users table in the admin control panel to an `@angular/material` data table - Improved the styling of the membership status +### Fixed + +- Fixed an issue where holdings were requested twice from the server + ## 2.12.0 - 2023-10-17 ### Added diff --git a/apps/client/src/app/components/home-holdings/home-holdings.component.ts b/apps/client/src/app/components/home-holdings/home-holdings.component.ts index a83e71e88..bae022133 100644 --- a/apps/client/src/app/components/home-holdings/home-holdings.component.ts +++ b/apps/client/src/app/components/home-holdings/home-holdings.component.ts @@ -81,8 +81,6 @@ export class HomeHoldingsComponent implements OnDestroy, OnInit { .subscribe((impersonationId) => { this.hasImpersonationId = !!impersonationId; }); - - this.update(); } public onChangeDateRange(dateRange: DateRange) { From 60b2115e3b0dad5dc2f22465f3b6bda88dbb4996 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 20 Oct 2023 08:24:49 +0200 Subject: [PATCH 36/47] Release 2.13.0 (#2514) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 643df3522..169995508 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.13.0 - 2023-10-20 ### Added diff --git a/package.json b/package.json index 3b5247252..f09c428d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.12.0", + "version": "2.13.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 750c6276138389334f26e083fe48158c9b7df3ab Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 20 Oct 2023 17:37:55 +0200 Subject: [PATCH 37/47] Feature/allow to edit market data of today (#2515) * Allow to edit today's market data * Update changelog --- CHANGELOG.md | 6 ++++++ .../admin-market-data-detail.component.html | 6 +++++- .../admin-market-data-detail.component.scss | 1 - .../admin-market-data-detail.component.ts | 10 +++------- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 169995508..69ea038f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Changed + +- Allowed to edit today’s historical market data in the asset profile details dialog of the admin control panel + ## 2.13.0 - 2023-10-20 ### Added diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html index d6f67faa3..c6e972f45 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html @@ -9,7 +9,11 @@ [showYAxis]="true" [symbol]="symbol" > -
+
{{ itemByMonth.key }}
{ + this.historicalDataItems = this.marketData.map(({ date, marketPrice }) => { return { - date: format(marketDataItem.date, DATE_FORMAT), - value: marketDataItem.marketPrice + date: format(date, DATE_FORMAT), + value: marketPrice }; }); @@ -157,10 +157,6 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit { const date = parseISO(`${yearMonth}-${day}`); const marketPrice = this.marketDataByMonth[yearMonth]?.[day]?.marketPrice; - if (isSameDay(date, new Date())) { - return; - } - const dialogRef = this.dialog.open(MarketDataDetailDialog, { data: { date, From 6a19eab425a3e38a6faec427840658bfa0660cdc Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 20 Oct 2023 22:05:27 +0200 Subject: [PATCH 38/47] Feature/improve membership card (#2517) * Improve style * Add animated border --- .../user-account-membership.html | 68 ++++++++++--------- libs/ui/src/lib/logo/logo.component.html | 6 +- libs/ui/src/lib/logo/logo.component.scss | 8 +-- libs/ui/src/lib/logo/logo.component.ts | 1 - .../membership-card.component.html | 44 ++++++------ .../membership-card.component.scss | 66 ++++++++++++++---- 6 files changed, 115 insertions(+), 78 deletions(-) diff --git a/apps/client/src/app/components/user-account-membership/user-account-membership.html b/apps/client/src/app/components/user-account-membership/user-account-membership.html index 191c63184..4031ce9a0 100644 --- a/apps/client/src/app/components/user-account-membership/user-account-membership.html +++ b/apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -2,40 +2,42 @@

Membership

- -
-
-
- - -
- {{ baseCurrency }} {{ price }} {{ baseCurrency }} {{ price - coupon - }} - {{ baseCurrency }} {{ price }} per year -
-
+
+ +
+ + +
+ {{ baseCurrency }} {{ price }} {{ baseCurrency }} {{ price - coupon + }} + {{ baseCurrency }} {{ price }} per year +
+
+
Try Premium @@ -46,7 +48,7 @@ > + > {{ label ?? 'Ghostfolio' }} diff --git a/libs/ui/src/lib/logo/logo.component.scss b/libs/ui/src/lib/logo/logo.component.scss index 27fb1b311..c1ab3776a 100644 --- a/libs/ui/src/lib/logo/logo.component.scss +++ b/libs/ui/src/lib/logo/logo.component.scss @@ -4,18 +4,12 @@ } .logo { - background-color: rgba(var(--dark-primary-text)); + background-color: currentColor; margin-top: -2px; mask: url('/assets/ghost.svg') no-repeat center; } } -:host-context(.is-dark-theme) { - .logo { - background-color: rgba(var(--light-primary-text)); - } -} - :host-context(.large) { .label { font-size: 3rem; diff --git a/libs/ui/src/lib/logo/logo.component.ts b/libs/ui/src/lib/logo/logo.component.ts index 648e771dd..ecb3885dc 100644 --- a/libs/ui/src/lib/logo/logo.component.ts +++ b/libs/ui/src/lib/logo/logo.component.ts @@ -13,7 +13,6 @@ import { }) export class LogoComponent { @HostBinding('class') @Input() size: 'large' | 'medium' = 'medium'; - @Input() color: string; @Input() label: string; @Input() showLabel = true; diff --git a/libs/ui/src/lib/membership-card/membership-card.component.html b/libs/ui/src/lib/membership-card/membership-card.component.html index 048a6b79a..d069274ca 100644 --- a/libs/ui/src/lib/membership-card/membership-card.component.html +++ b/libs/ui/src/lib/membership-card/membership-card.component.html @@ -1,25 +1,29 @@ - -
- -
-
-
-
Membership
-
{{ name }}
+
+
+
-
diff --git a/libs/ui/src/lib/membership-card/membership-card.component.scss b/libs/ui/src/lib/membership-card/membership-card.component.scss index e9a83a67b..a7cbce91a 100644 --- a/libs/ui/src/lib/membership-card/membership-card.component.scss +++ b/libs/ui/src/lib/membership-card/membership-card.component.scss @@ -1,24 +1,66 @@ :host { + --borderRadius: 1rem; + --borderWidth: 2px; + display: block; max-width: 25rem; + padding-top: calc(1 * var(--borderWidth)); + width: 100%; - .card-item { - aspect-ratio: 1.586; - background-color: #343a40 !important; - border-radius: 1rem; - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); + .card-container { + border-radius: var(--borderRadius); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); - &.premium { - background-color: #1d2124 !important; - } + &:after { + animation: animatedborder 7s ease alternate infinite; + background: linear-gradient(60deg, #5073b8, #1098ad, #07b39b, #6fba82); + background-size: 300% 300%; + border-radius: var(--borderRadius); + content: ''; + height: calc(100% + var(--borderWidth) * 2); + left: calc(-1 * var(--borderWidth)); + top: calc(-1 * var(--borderWidth)); + position: absolute; + width: calc(100% + var(--borderWidth) * 2); + z-index: -1; - .card-item-heading { - font-size: 13px; + @keyframes animatedborder { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } + } } - .card-item-name { + .card-item { + aspect-ratio: 1.586; + background-color: #1d2124; + border-radius: calc(var(--borderRadius) - var(--borderWidth)); color: rgba(var(--light-primary-text)); - font-size: 18px; + + .heading { + font-size: 13px; + } + + .value { + font-size: 18px; + } + } + + &:not(.premium) { + &:after { + opacity: 0; + } + + .card-item { + background-color: #ffffff; + color: rgba(var(--dark-primary-text)); + } } } } From ac0ad48a65ad50d5d427eea38fc767187d0175bb Mon Sep 17 00:00:00 2001 From: Don L Date: Fri, 20 Oct 2023 13:07:57 -0700 Subject: [PATCH 39/47] Display invalid activity in csv import (#2460) * Display invalid activity in csv import * Update changelog --- CHANGELOG.md | 1 + .../import-activities-dialog.component.ts | 4 +++- test/import/invalid-multi-line.csv | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/import/invalid-multi-line.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 69ea038f7..c909a68b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Improved the error message in the activities import for `csv` files - Allowed to edit today’s historical market data in the asset profile details dialog of the admin control panel ## 2.13.0 - 2023-10-20 diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts index d11cafdb9..1427af92f 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -267,6 +267,8 @@ export class ImportActivitiesDialog implements OnDestroy { return; } else if (file.name.endsWith('.csv')) { + const content = fileContent.split('\n').slice(1); + try { const data = await this.importActivitiesService.importCsv({ fileContent, @@ -277,7 +279,7 @@ export class ImportActivitiesDialog implements OnDestroy { } catch (error) { console.error(error); this.handleImportError({ - activities: error?.activities ?? [], + activities: error?.activities ?? content, error: { error: { message: error?.error?.message ?? [error?.message] } } diff --git a/test/import/invalid-multi-line.csv b/test/import/invalid-multi-line.csv new file mode 100644 index 000000000..ed9da3378 --- /dev/null +++ b/test/import/invalid-multi-line.csv @@ -0,0 +1,5 @@ +Date,Code,Currency,Price,Quantity,Action,Fee,Note +16-09-2021,MSFT,USD,298.580,5,buy,19.00,My first order 🤓 +17/11/2021,MSFT,USD,0.62,5,dividend,0.00 +01.01.2022,Penthouse Apartment,USD,500000.0,1,,0.00 +20500606,MSFT,USD,0.00,0,buy,0.00 From 1666486940c12aaec4e7ef301c9fac3c7f72f89f Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 20 Oct 2023 22:36:03 +0200 Subject: [PATCH 40/47] Bugfix/trim text in i18n service (#2520) * Trim text * Update changelog --- CHANGELOG.md | 4 ++++ apps/api/src/services/i18n/i18n.service.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c909a68b4..4c0c70bb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the error message in the activities import for `csv` files - Allowed to edit today’s historical market data in the asset profile details dialog of the admin control panel +### Fixed + +- Trimmed text in `i18n` service to query `messages.*.xlf` files on the server + ## 2.13.0 - 2023-10-20 ### Added diff --git a/apps/api/src/services/i18n/i18n.service.ts b/apps/api/src/services/i18n/i18n.service.ts index 35c7b638d..39dab2d06 100644 --- a/apps/api/src/services/i18n/i18n.service.ts +++ b/apps/api/src/services/i18n/i18n.service.ts @@ -38,7 +38,7 @@ export class I18nService { ); } - return translatedText; + return translatedText.trim(); } private loadFiles() { From a59f9fa037f514505a6c77b5e65b29b66e66bbd1 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Oct 2023 09:41:07 +0200 Subject: [PATCH 41/47] Feature/remove version from client (#2522) * Remove version * Update changelog --- CHANGELOG.md | 1 + apps/client/src/app/app.component.html | 1 - apps/client/src/app/app.component.ts | 2 -- .../app/components/admin-overview/admin-overview.component.ts | 1 - .../app/pages/about/overview/about-overview-page.component.ts | 2 -- .../src/app/pages/about/overview/about-overview-page.html | 3 --- apps/client/src/environments/environment.prod.ts | 3 +-- apps/client/src/environments/environment.ts | 3 +-- 8 files changed, 3 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c0c70bb6..27f5aaedc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Improved the error message in the activities import for `csv` files +- Removed the application version from the client - Allowed to edit today’s historical market data in the asset profile details dialog of the admin control panel ### Fixed diff --git a/apps/client/src/app/app.component.html b/apps/client/src/app/app.component.html index a52261969..e792598a7 100644 --- a/apps/client/src/app/app.component.html +++ b/apps/client/src/app/app.component.html @@ -165,7 +165,6 @@
© 2021 - {{ currentYear }} Ghostfolio - {{ version }}
diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index d1d9529ce..2317279b1 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -17,7 +17,6 @@ import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; -import { environment } from '../environments/environment'; import { DataService } from './services/data.service'; import { TokenStorageService } from './services/token-storage.service'; import { UserService } from './services/user/user.service'; @@ -60,7 +59,6 @@ export class AppComponent implements OnDestroy, OnInit { public routerLinkResources = ['/' + $localize`resources`]; public showFooter = false; public user: User; - public version = environment.version; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/components/admin-overview/admin-overview.component.ts b/apps/client/src/app/components/admin-overview/admin-overview.component.ts index b1e91dfc9..97573cdbe 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.component.ts +++ b/apps/client/src/app/components/admin-overview/admin-overview.component.ts @@ -1,6 +1,5 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; -import { environment } from '@ghostfolio/client/../environments/environment'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { CacheService } from '@ghostfolio/client/services/cache.service'; import { DataService } from '@ghostfolio/client/services/data.service'; diff --git a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts index 471874dc2..4c15f73b0 100644 --- a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts +++ b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -1,5 +1,4 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; -import { environment } from '@ghostfolio/client/../environments/environment'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; @@ -20,7 +19,6 @@ export class AboutOverviewPageComponent implements OnDestroy, OnInit { public routerLinkFaq = ['/' + $localize`faq`]; public routerLinkFeatures = ['/' + $localize`features`]; public user: User; - public version = environment.version; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/about/overview/about-overview-page.html b/apps/client/src/app/pages/about/overview/about-overview-page.html index a9bada763..4dc9fbf78 100644 --- a/apps/client/src/app/pages/about/overview/about-overview-page.html +++ b/apps/client/src/app/pages/about/overview/about-overview-page.html @@ -35,9 +35,6 @@ title="Contributors to Ghostfolio" >contributors. - - This instance is running Ghostfolio {{ version }}. - Check the system status at Date: Sat, 21 Oct 2023 10:25:05 +0200 Subject: [PATCH 42/47] Feature/change fees interest and search to general availability (#2525) * Change features to general availability * Fees on account level * Interest on account level * Search for a holding * Update changelog * Add documentation for experimental features --- CHANGELOG.md | 3 +++ DEVELOPMENT.md | 12 ++++++++++++ apps/api/src/app/user/user.service.ts | 8 ++++---- .../create-or-update-activity-dialog.html | 10 ++-------- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27f5aaedc..e32a20c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Moved the fees on account level feature from experimental to general availability +- Moved the interest on account level feature from experimental to general availability +- Moved the search for a holding from experimental to general availability - Improved the error message in the activities import for `csv` files - Removed the application version from the client - Allowed to edit today’s historical market data in the asset profile details dialog of the admin control panel diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index a950e5672..ea581c8cf 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,5 +1,17 @@ # Ghostfolio Development Guide +## Experimental Features + +New functionality can be enabled using a feature flag switch from the user settings. + +### Backend + +Remove permission in `UserService` using `without()` + +### Frontend + +Use `*ngIf="user?.settings?.isExperimentalFeatures"` in HTML template + ## Git ### Rebase diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index a176c43f3..91490528e 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -164,10 +164,10 @@ export class UserService { let currentPermissions = getPermissions(user.role); if (!(user.Settings.settings as UserSettings).isExperimentalFeatures) { - currentPermissions = without( - currentPermissions, - permissions.accessAssistant - ); + // currentPermissions = without( + // currentPermissions, + // permissions.xyz + // ); } if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index 4e600b110..c28f87d93 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -21,10 +21,7 @@ >Stocks, ETFs, bonds, cryptocurrencies, commodities - + {{ typesTranslationMap['FEE'] }} One-time fee, annual account feesDistribution of corporate earnings - + {{ typesTranslationMap['INTEREST'] }} Revenue for lending out money Date: Sat, 21 Oct 2023 18:12:50 +0200 Subject: [PATCH 43/47] Feature/setup open figi (#2526) * Setup OpenFIGI * Update changelog --- CHANGELOG.md | 5 ++ apps/api/src/app/import/import.service.ts | 9 ++ .../configuration/configuration.service.ts | 1 + .../data-gathering/data-gathering.service.ts | 9 ++ .../data-enhancer/data-enhancer.module.ts | 10 ++- .../openfigi/openfigi.service.ts | 85 +++++++++++++++++++ .../interfaces/environment.interface.ts | 1 + libs/common/src/lib/helper.ts | 9 ++ .../migration.sql | 5 ++ prisma/schema.prisma | 3 + 10 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 apps/api/src/services/data-provider/data-enhancer/openfigi/openfigi.service.ts create mode 100644 prisma/migrations/20231021094346_added_figi_figi_composite_and_figi_share_class_to_symbol_profile/migration.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index e32a20c45..0fe6d0aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the _OpenFIGI_ data enhancer for _Financial Instrument Global Identifier_ (FIGI) +- Added `figi`, `figiComposite` and `figiShareClass` to the asset profile model + ### Changed - Moved the fees on account level feature from experimental to general availability diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index 83d062b83..8fd35f8dd 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -280,6 +280,9 @@ export class ImportService { createdAt, currency, dataSource, + figi, + figiComposite, + figiShareClass, id, isin, name, @@ -350,6 +353,9 @@ export class ImportService { createdAt, currency, dataSource, + figi, + figiComposite, + figiShareClass, id, isin, name, @@ -509,6 +515,9 @@ export class ImportService { comment: null, countries: null, createdAt: undefined, + figi: null, + figiComposite: null, + figiShareClass: null, id: undefined, isin: null, name: null, diff --git a/apps/api/src/services/configuration/configuration.service.ts b/apps/api/src/services/configuration/configuration.service.ts index 40a04f5a0..b355d5a20 100644 --- a/apps/api/src/services/configuration/configuration.service.ts +++ b/apps/api/src/services/configuration/configuration.service.ts @@ -38,6 +38,7 @@ export class ConfigurationService { JWT_SECRET_KEY: str({}), MAX_ACTIVITIES_TO_IMPORT: num({ default: Number.MAX_SAFE_INTEGER }), MAX_ITEM_IN_CACHE: num({ default: 9999 }), + OPEN_FIGI_API_KEY: str({ default: '' }), PORT: port({ default: 3333 }), RAPID_API_API_KEY: str({ default: '' }), REDIS_HOST: str({ default: 'localhost' }), diff --git a/apps/api/src/services/data-gathering/data-gathering.service.ts b/apps/api/src/services/data-gathering/data-gathering.service.ts index 34645b9ea..78531b745 100644 --- a/apps/api/src/services/data-gathering/data-gathering.service.ts +++ b/apps/api/src/services/data-gathering/data-gathering.service.ts @@ -164,6 +164,9 @@ export class DataGatheringService { countries, currency, dataSource, + figi, + figiComposite, + figiShareClass, isin, name, sectors, @@ -178,6 +181,9 @@ export class DataGatheringService { countries, currency, dataSource, + figi, + figiComposite, + figiShareClass, isin, name, sectors, @@ -189,6 +195,9 @@ export class DataGatheringService { assetSubClass, countries, currency, + figi, + figiComposite, + figiShareClass, isin, name, sectors, diff --git a/apps/api/src/services/data-provider/data-enhancer/data-enhancer.module.ts b/apps/api/src/services/data-provider/data-enhancer/data-enhancer.module.ts index 069309508..23d64ac86 100644 --- a/apps/api/src/services/data-provider/data-enhancer/data-enhancer.module.ts +++ b/apps/api/src/services/data-provider/data-enhancer/data-enhancer.module.ts @@ -1,5 +1,6 @@ import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; import { CryptocurrencyModule } from '@ghostfolio/api/services/cryptocurrency/cryptocurrency.module'; +import { OpenFigiDataEnhancerService } from '@ghostfolio/api/services/data-provider/data-enhancer/openfigi/openfigi.service'; import { TrackinsightDataEnhancerService } from '@ghostfolio/api/services/data-provider/data-enhancer/trackinsight/trackinsight.service'; import { YahooFinanceDataEnhancerService } from '@ghostfolio/api/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service'; import { Module } from '@nestjs/common'; @@ -9,6 +10,7 @@ import { DataEnhancerService } from './data-enhancer.service'; @Module({ exports: [ DataEnhancerService, + OpenFigiDataEnhancerService, TrackinsightDataEnhancerService, YahooFinanceDataEnhancerService, 'DataEnhancers' @@ -16,15 +18,21 @@ import { DataEnhancerService } from './data-enhancer.service'; imports: [ConfigurationModule, CryptocurrencyModule], providers: [ DataEnhancerService, + OpenFigiDataEnhancerService, TrackinsightDataEnhancerService, YahooFinanceDataEnhancerService, { inject: [ + OpenFigiDataEnhancerService, TrackinsightDataEnhancerService, YahooFinanceDataEnhancerService ], provide: 'DataEnhancers', - useFactory: (trackinsight, yahooFinance) => [trackinsight, yahooFinance] + useFactory: (openfigi, trackinsight, yahooFinance) => [ + openfigi, + trackinsight, + yahooFinance + ] } ] }) diff --git a/apps/api/src/services/data-provider/data-enhancer/openfigi/openfigi.service.ts b/apps/api/src/services/data-provider/data-enhancer/openfigi/openfigi.service.ts new file mode 100644 index 000000000..363cbb167 --- /dev/null +++ b/apps/api/src/services/data-provider/data-enhancer/openfigi/openfigi.service.ts @@ -0,0 +1,85 @@ +import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import { DataEnhancerInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-enhancer.interface'; +import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config'; +import { parseSymbol } from '@ghostfolio/common/helper'; +import { Injectable } from '@nestjs/common'; +import { SymbolProfile } from '@prisma/client'; +import got, { Headers } from 'got'; + +@Injectable() +export class OpenFigiDataEnhancerService implements DataEnhancerInterface { + private static baseUrl = 'https://api.openfigi.com'; + + public constructor( + private readonly configurationService: ConfigurationService + ) {} + + public async enhance({ + response, + symbol + }: { + response: Partial; + symbol: string; + }): Promise> { + if ( + !( + response.assetClass === 'EQUITY' && + (response.assetSubClass === 'ETF' || response.assetSubClass === 'STOCK') + ) + ) { + return response; + } + + const headers: Headers = {}; + const { exchange, ticker } = parseSymbol({ + symbol, + dataSource: response.dataSource + }); + + if (this.configurationService.get('OPEN_FIGI_API_KEY')) { + headers['X-OPENFIGI-APIKEY'] = + this.configurationService.get('OPEN_FIGI_API_KEY'); + } + + let abortController = new AbortController(); + + setTimeout(() => { + abortController.abort(); + }, DEFAULT_REQUEST_TIMEOUT); + + const mappings = await got + .post(`${OpenFigiDataEnhancerService.baseUrl}/v3/mapping`, { + headers, + json: [{ exchCode: exchange, idType: 'TICKER', idValue: ticker }], + // @ts-ignore + signal: abortController.signal + }) + .json(); + + if (mappings?.length === 1 && mappings[0].data?.length === 1) { + const { compositeFIGI, figi, shareClassFIGI } = mappings[0].data[0]; + + if (figi) { + response.figi = figi; + } + + if (compositeFIGI) { + response.figiComposite = compositeFIGI; + } + + if (shareClassFIGI) { + response.figiShareClass = shareClassFIGI; + } + } + + return response; + } + + public getName() { + return 'OPENFIGI'; + } + + public getTestSymbol() { + return undefined; + } +} diff --git a/apps/api/src/services/interfaces/environment.interface.ts b/apps/api/src/services/interfaces/environment.interface.ts index b437668ab..9b10a3205 100644 --- a/apps/api/src/services/interfaces/environment.interface.ts +++ b/apps/api/src/services/interfaces/environment.interface.ts @@ -26,6 +26,7 @@ export interface Environment extends CleanedEnvAccessors { JWT_SECRET_KEY: string; MAX_ACTIVITIES_TO_IMPORT: number; MAX_ITEM_IN_CACHE: number; + OPEN_FIGI_API_KEY: string; PORT: number; RAPID_API_API_KEY: string; REDIS_HOST: string; diff --git a/libs/common/src/lib/helper.ts b/libs/common/src/lib/helper.ts index 03fc250b8..3a3ee6e11 100644 --- a/libs/common/src/lib/helper.ts +++ b/libs/common/src/lib/helper.ts @@ -322,6 +322,15 @@ export function parseDate(date: string): Date | null { return parseISO(date); } +export function parseSymbol({ dataSource, symbol }: UniqueAsset) { + const [ticker, exchange] = symbol.split('.'); + + return { + ticker, + exchange: exchange ?? (dataSource === 'YAHOO' ? 'US' : undefined) + }; +} + export function prettifySymbol(aSymbol: string): string { return aSymbol?.replace(ghostfolioScraperApiSymbolPrefix, ''); } diff --git a/prisma/migrations/20231021094346_added_figi_figi_composite_and_figi_share_class_to_symbol_profile/migration.sql b/prisma/migrations/20231021094346_added_figi_figi_composite_and_figi_share_class_to_symbol_profile/migration.sql new file mode 100644 index 000000000..eb8abbe5a --- /dev/null +++ b/prisma/migrations/20231021094346_added_figi_figi_composite_and_figi_share_class_to_symbol_profile/migration.sql @@ -0,0 +1,5 @@ +-- AlterTable +ALTER TABLE "SymbolProfile" +ADD COLUMN "figi" TEXT, +ADD COLUMN "figiComposite" TEXT, +ADD COLUMN "figiShareClass" TEXT; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index a4d4e028e..015431e6c 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -132,6 +132,9 @@ model SymbolProfile { createdAt DateTime @default(now()) currency String dataSource DataSource + figi String? + figiComposite String? + figiShareClass String? id String @id @default(uuid()) isin String? name String? From cb166dcc78d492b45ba880044728eefdd4f045f1 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Oct 2023 18:43:33 +0200 Subject: [PATCH 44/47] Redirect to membership page (#2527) --- apps/api/src/app/subscription/subscription.controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/src/app/subscription/subscription.controller.ts b/apps/api/src/app/subscription/subscription.controller.ts index e063a8636..299f32fe0 100644 --- a/apps/api/src/app/subscription/subscription.controller.ts +++ b/apps/api/src/app/subscription/subscription.controller.ts @@ -104,7 +104,7 @@ export class SubscriptionController { response.redirect( `${this.configurationService.get( 'ROOT_URL' - )}/${DEFAULT_LANGUAGE_CODE}/account` + )}/${DEFAULT_LANGUAGE_CODE}/account/membership` ); } From 5822e4d1865a4d94902f2fbbf792e8c090fe976a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Oct 2023 19:34:44 +0200 Subject: [PATCH 45/47] Bugfix/fix style of active page in header navigation (#2528) * Fix style of active page * Update changelog --- CHANGELOG.md | 1 + apps/client/src/styles.scss | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe6d0aa1..9de813d09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed the style of the active page in the header navigation - Trimmed text in `i18n` service to query `messages.*.xlf` files on the server ## 2.13.0 - 2023-10-20 diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index 175194cac..7085effc5 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -446,6 +446,12 @@ ngx-skeleton-loader { .mat-mdc-menu-panel { .mat-mdc-menu-item { + &.font-weight-bold { + .mat-mdc-menu-item-text { + --mat-menu-item-label-text-weight: 700; + } + } + .mdc-list-item__primary-text { align-items: center; display: flex; From 281d33f82595aeb5a86de66a098c536ae7a0c9c2 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Oct 2023 20:05:20 +0200 Subject: [PATCH 46/47] Feature/update oss friends 20231021 (#2529) * Update OSS friends * Improve style of sub title --- .../about/oss-friends/oss-friends-page.html | 2 +- apps/client/src/assets/oss-friends.json | 42 ++++++++++++++----- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.html b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.html index 0248a8b46..fab653145 100644 --- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.html +++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.html @@ -1,7 +1,7 @@
-

+

Our OSS Friends diff --git a/apps/client/src/assets/oss-friends.json b/apps/client/src/assets/oss-friends.json index d7d8e1506..43d8141ac 100644 --- a/apps/client/src/assets/oss-friends.json +++ b/apps/client/src/assets/oss-friends.json @@ -1,5 +1,5 @@ { - "createdAt": "2023-10-05T00:00:00.000Z", + "createdAt": "2023-10-21T00:00:00.000Z", "data": [ { "name": "BoxyHQ", @@ -21,11 +21,21 @@ "description": "The Open-Source DocuSign Alternative. We aim to earn your trust by enabling you to self-host the platform and examine its inner workings.", "href": "https://documenso.com" }, + { + "name": "dyrector.io", + "description": "dyrector.io is an open-source continuous delivery & deployment platform with version management.", + "href": "https://dyrector.io" + }, { "name": "Erxes", "description": "The Open-Source HubSpot Alternative. A single XOS enables to create unique and life-changing experiences that work for all types of business.", "href": "https://erxes.io" }, + { + "name": "Firecamp", + "description": "vscode for apis, open-source postman/insomnia alternative", + "href": "https://firecamp.io" + }, { "name": "Formbricks", "description": "Survey granular user segments at any point in the user journey. Gather up to 6x more insights with targeted micro-surveys. All open-source.", @@ -46,6 +56,11 @@ "description": "Open-source authentication and user management for the passkey era. Integrated in minutes, for web and mobile apps.", "href": "https://www.hanko.io" }, + { + "name": "Hook0", + "description": "Open-Source Webhooks-as-a-service (WaaS) that makes it easy for developers to send webhooks.", + "href": "https://www.hook0.com/" + }, { "name": "HTMX", "description": "HTMX is a dependency-free JavaScript library that allows you to access AJAX, CSS Transitions, WebSockets, and Server Sent Events directly in HTML.", @@ -86,11 +101,21 @@ "description": "Open-source solution to deploy, scale, and operate your multiplayer game.", "href": "https://rivet.gg" }, + { + "name": "Shelf.nu", + "description": "Open Source Asset and Equipment tracking software that lets you create QR asset labels, manage and overview your assets across locations.", + "href": "https://www.shelf.nu/" + }, { "name": "Sniffnet", "description": "Sniffnet is a network monitoring tool to help you easily keep track of your Internet traffic.", "href": "https://www.sniffnet.net" }, + { + "name": "Spark.NET", + "description": "The .NET Web Framework for Makers. Build production ready, full-stack web applications fast without sweating the small stuff.", + "href": "https://spark-framework.net" + }, { "name": "Tolgee", "description": "Software localization from A to Z made really easy.", @@ -101,16 +126,16 @@ "description": "Create long-running Jobs directly in your codebase with features like API integrations, webhooks, scheduling and delays.", "href": "https://trigger.dev" }, - { - "name": "Typebot", - "description": "Typebot gives you powerful blocks to create unique chat experiences. Embed them anywhere on your apps and start collecting results like magic.", - "href": "https://typebot.io" - }, { "name": "Twenty", "description": "A modern CRM offering the flexibility of open-source, advanced features and sleek design.", "href": "https://twenty.com" }, + { + "name": "Typebot", + "description": "Typebot gives you powerful blocks to create unique chat experiences. Embed them anywhere on your apps and start collecting results like magic.", + "href": "https://typebot.io" + }, { "name": "Webiny", "description": "Open-source enterprise-grade serverless CMS. Own your data. Scale effortlessly. Customize everything.", @@ -120,11 +145,6 @@ "name": "Webstudio", "description": "Webstudio is an open source alternative to Webflow", "href": "https://webstudio.is" - }, - { - "name": "Spark.NET", - "description": "The .NET Web Framework for Makers. Build production ready, full-stack web applications fast without sweating the small stuff.", - "href": "https://spark-framework.net" } ], "source": "https://formbricks.com/api/oss-friends" From c4e8e378844fcf6a562c53f7d90623deb8bf4b5d Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Oct 2023 20:07:40 +0200 Subject: [PATCH 47/47] Release 2.14.0 (#2530) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9de813d09..64f8439a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.14.0 - 2023-10-21 ### Added diff --git a/package.json b/package.json index f09c428d3..7a5eb4b55 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.13.0", + "version": "2.14.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio",