From 5743825bc63ea75b9428b4430798ec798d380c2c Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 13 Jun 2026 13:06:54 +0200 Subject: [PATCH] Task/improve dynamic numerical precision in account and holding detail dialogs on mobile (#7022) * Improve dynamic numerical precision for various values * Update changelog --- CHANGELOG.md | 5 +++++ .../account-detail-dialog.component.ts | 10 +++++----- .../holding-detail-dialog.component.ts | 17 ++++++++--------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8399e1dcf..021e69a07 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 +### Changed + +- Improved the dynamic numerical precision for various values in the account detail dialog on mobile +- Improved the dynamic numerical precision for various values in the holding detail dialog on mobile + ### Fixed - Fixed an issue in the import dividends dialog 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 d9b279040..7cdf3e671 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 @@ -3,7 +3,7 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { DEFAULT_DATE_RANGE, DEFAULT_PAGE_SIZE, - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES } from '@ghostfolio/common/config'; import { CreateAccountBalanceDto } from '@ghostfolio/common/dtos'; import { DATE_FORMAT, downloadAsFile } from '@ghostfolio/common/helper'; @@ -245,7 +245,7 @@ export class GfAccountDetailDialogComponent implements OnInit { this.balance = balance; if ( - this.balance >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES && + this.balance >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES && this.data.deviceType === 'mobile' ) { this.balancePrecision = 0; @@ -257,7 +257,7 @@ export class GfAccountDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.dividendInBaseCurrency >= - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.dividendInBaseCurrencyPrecision = 0; } @@ -267,7 +267,7 @@ export class GfAccountDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.equity >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + this.equity >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.equityPrecision = 0; } @@ -280,7 +280,7 @@ export class GfAccountDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.interestInBaseCurrency >= - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.interestInBaseCurrencyPrecision = 0; } diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts index 68bb1215a..416e9106d 100644 --- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts +++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts @@ -2,8 +2,7 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { DEFAULT_PAGE_SIZE, NUMERICAL_PRECISION_THRESHOLD_3_FIGURES, - NUMERICAL_PRECISION_THRESHOLD_5_FIGURES, - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES } from '@ghostfolio/common/config'; import { CreateOrderDto } from '@ghostfolio/common/dtos'; import { @@ -282,7 +281,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { this.averagePrice = averagePrice; if ( - this.averagePrice >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES && + this.averagePrice >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES && this.data.deviceType === 'mobile' ) { this.averagePricePrecision = 0; @@ -297,7 +296,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.dividendInBaseCurrency >= - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.dividendInBaseCurrencyPrecision = 0; } @@ -335,7 +334,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.investmentInBaseCurrencyWithCurrencyEffect >= - NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.investmentInBaseCurrencyWithCurrencyEffectPrecision = 0; } @@ -345,7 +344,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.marketPriceMax >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + this.marketPriceMax >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.marketPriceMaxPrecision = 0; } @@ -354,14 +353,14 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.marketPriceMin >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + this.marketPriceMin >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.marketPriceMinPrecision = 0; } if ( this.data.deviceType === 'mobile' && - this.marketPrice >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + this.marketPrice >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.marketPricePrecision = 0; } @@ -370,7 +369,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.netPerformance >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES + this.netPerformance >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ) { this.netPerformancePrecision = 0; }