diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cac9e2c5..08b6ac8aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### 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 - Upgraded `@internationalized/number` from version `3.6.6` to `3.6.7` +### Fixed + +- Fixed the disabled state of the delete action in the asset profiles actions menu of the historical market data table in the admin control panel +- Fixed the persistence of an empty `locale` string in the scraper configuration + ## 3.14.0 - 2026-06-22 ### Added 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 7cdf3e671..5af8c9d00 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_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_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_5_FIGURES && + this.balance >= NUMERICAL_PRECISION_THRESHOLD_4_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_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.dividendInBaseCurrencyPrecision = 0; } @@ -267,7 +267,7 @@ export class GfAccountDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.equity >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + this.equity >= NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.equityPrecision = 0; } @@ -280,7 +280,7 @@ export class GfAccountDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.interestInBaseCurrency >= - NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.interestInBaseCurrencyPrecision = 0; } diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.html b/apps/client/src/app/components/admin-market-data/admin-market-data.html index 270722a4b..83703b548 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.html +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -285,7 +285,8 @@ !canDeleteAssetProfile({ activitiesCount: element.activitiesCount, isBenchmark: element.isBenchmark, - symbol: element.symbol + symbol: element.symbol, + watchedByCount: element.watchedByCount }) " (click)=" 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 5ceb5808a..967a289ef 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 @@ -550,7 +550,7 @@ export class GfAssetProfileDialogComponent implements OnInit { ) as Record, locale: this.assetProfileForm.controls.scraperConfiguration.controls.locale - ?.value ?? undefined, + ?.value || undefined, mode: this.assetProfileForm.controls.scraperConfiguration.controls.mode ?.value ?? undefined, 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 1eb0d4ab6..e14c638be 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,7 +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_4_FIGURES } from '@ghostfolio/common/config'; import { CreateOrderDto } from '@ghostfolio/common/dtos'; import { @@ -288,7 +288,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { this.averagePrice = averagePrice; if ( - this.averagePrice >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES && + this.averagePrice >= NUMERICAL_PRECISION_THRESHOLD_4_FIGURES && this.data.deviceType === 'mobile' ) { this.averagePricePrecision = 0; @@ -307,7 +307,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.dividendInBaseCurrency >= - NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.dividendInBaseCurrencyPrecision = 0; } @@ -345,7 +345,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.investmentInBaseCurrencyWithCurrencyEffect >= - NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.investmentInBaseCurrencyWithCurrencyEffectPrecision = 0; } @@ -355,7 +355,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.marketPriceMax >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + this.marketPriceMax >= NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.marketPriceMaxPrecision = 0; } @@ -364,14 +364,14 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && - this.marketPriceMin >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + this.marketPriceMin >= NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.marketPriceMinPrecision = 0; } if ( this.data.deviceType === 'mobile' && - this.marketPrice >= NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + this.marketPrice >= NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.marketPricePrecision = 0; } @@ -393,7 +393,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { if ( this.data.deviceType === 'mobile' && this.netPerformanceWithCurrencyEffect >= - NUMERICAL_PRECISION_THRESHOLD_5_FIGURES + NUMERICAL_PRECISION_THRESHOLD_4_FIGURES ) { this.netPerformanceWithCurrencyEffectPrecision = 0; } diff --git a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html index 18bd00a41..0b0b59e7d 100644 --- a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html +++ b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html @@ -171,7 +171,8 @@ mat-cell > @if (element.price === null) { - + + {{ baseCurrency }} } @else {