Browse Source

Merge branch 'main' of https://github.com/dhaneshwaritendle/ghostfolio into pr/3901

pull/3901/head
Thomas Kaul 11 months ago
parent
commit
5f77bf0dcf
  1. 8
      CHANGELOG.md
  2. 11
      apps/client/src/app/components/header/header.component.ts
  3. 14
      libs/ui/src/lib/treemap-chart/treemap-chart.component.ts

8
CHANGELOG.md

@ -7,10 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Added
- Added the name to the tooltip of the chart of the holdings tab on the home page (experimental)
### Changed ### Changed
- Improved the portfolio unit tests to work with exported activity files - Improved the portfolio unit tests to work with exported activity files
### Fixed
- Considered the language of the user settings on login with _Security Token_
## 2.114.0 - 2024-10-10 ## 2.114.0 - 2024-10-10
### Added ### Added

11
apps/client/src/app/components/header/header.component.ts

@ -261,8 +261,19 @@ export class HeaderComponent implements OnChanges {
this.settingsStorageService.getSetting(KEY_STAY_SIGNED_IN) === 'true' this.settingsStorageService.getSetting(KEY_STAY_SIGNED_IN) === 'true'
); );
this.userService
.get()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((user) => {
const userLanguage = user?.settings?.language;
if (userLanguage && document.documentElement.lang !== userLanguage) {
window.location.href = `../${userLanguage}`;
} else {
this.router.navigate(['/']); this.router.navigate(['/']);
} }
});
}
public ngOnDestroy() { public ngOnDestroy() {
this.unsubscribeSubject.next(); this.unsubscribeSubject.next();

14
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts

@ -227,16 +227,24 @@ export class GfTreemapChartComponent
}), }),
callbacks: { callbacks: {
label: (context) => { label: (context) => {
const name = context.raw._data.name;
const symbol = context.raw._data.symbol;
if (context.raw._data.valueInBaseCurrency !== null) { if (context.raw._data.valueInBaseCurrency !== null) {
const value = <number>context.raw._data.valueInBaseCurrency; const value = <number>context.raw._data.valueInBaseCurrency;
return `${value.toLocaleString(this.locale, {
return [
`${name ?? symbol}`,
`${value.toLocaleString(this.locale, {
maximumFractionDigits: 2, maximumFractionDigits: 2,
minimumFractionDigits: 2 minimumFractionDigits: 2
})} ${this.baseCurrency}`; })} ${this.baseCurrency}`
];
} else { } else {
const percentage = const percentage =
<number>context.raw._data.allocationInPercentage * 100; <number>context.raw._data.allocationInPercentage * 100;
return `${percentage.toFixed(2)}%`;
return [`${name ?? symbol}`, `${percentage.toFixed(2)}%`];
} }
}, },
title: () => { title: () => {

Loading…
Cancel
Save