Browse Source

Merge branch 'ghostfolio:main' into feature/migrate-open-page-and-value-component-to-standalone

pull/5639/head
s-vamshi 1 month ago
committed by GitHub
parent
commit
99f3c46bed
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 8
      CHANGELOG.md
  2. 9
      apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts
  3. 9
      apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
  4. 6
      apps/client/src/styles/table.scss
  5. 6
      libs/common/src/lib/chart-helper.ts
  6. 10
      libs/ui/src/lib/accounts-table/accounts-table.component.scss
  7. 4
      libs/ui/src/lib/activities-table/activities-table.component.html
  8. 10
      libs/ui/src/lib/benchmark/benchmark.component.scss
  9. 10
      libs/ui/src/lib/holdings-table/holdings-table.component.scss
  10. 4
      package-lock.json
  11. 2
      package.json

8
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.204.0 - 2025-09-30
### Added
@ -13,11 +13,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Improved the number formatting of the y-axis labels in the investment chart component
- Localized the number formatting of the y-axis labels in the line chart component
- Improved the wording of the 4% rule in the _FIRE_ section
- Improved the usability of the create asset profile dialog in the market data section of the admin control panel
- Improved the language localization for German (`de`)
- Refactored the open page to standalone
### Fixed
- Improved the table headers’ alignment of the activities table
## 2.203.0 - 2025-09-27
### Added

9
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts

@ -55,6 +55,7 @@ import { CreateAssetProfileDialogMode } from './interfaces/interfaces';
})
export class GfCreateAssetProfileDialogComponent implements OnInit, OnDestroy {
public createAssetProfileForm: FormGroup;
public ghostfolioPrefix = `${ghostfolioPrefix}_`;
public mode: CreateAssetProfileDialogMode;
private customCurrencies: string[];
@ -77,9 +78,7 @@ export class GfCreateAssetProfileDialogComponent implements OnInit, OnDestroy {
addCurrency: new FormControl(null, [
this.iso4217CurrencyCodeValidator()
]),
addSymbol: new FormControl(`${ghostfolioPrefix}_`, [
Validators.required
]),
addSymbol: new FormControl(null, [Validators.required]),
searchSymbol: new FormControl(null, [Validators.required])
},
{
@ -95,6 +94,8 @@ export class GfCreateAssetProfileDialogComponent implements OnInit, OnDestroy {
}
public onRadioChange(mode: CreateAssetProfileDialogMode) {
this.createAssetProfileForm.reset();
this.mode = mode;
}
@ -133,7 +134,7 @@ export class GfCreateAssetProfileDialogComponent implements OnInit, OnDestroy {
} else if (this.mode === 'manual') {
this.dialogRef.close({
dataSource: 'MANUAL',
symbol: this.createAssetProfileForm.get('addSymbol').value
symbol: `${this.ghostfolioPrefix}${this.createAssetProfileForm.get('addSymbol').value}`
});
}
}

9
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html

@ -38,6 +38,7 @@
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Symbol</mat-label>
<input formControlName="addSymbol" matInput />
<span matTextPrefix>{{ ghostfolioPrefix }}</span>
</mat-form-field>
</div>
} @else if (mode === 'currency') {
@ -53,7 +54,13 @@
}
</div>
<div class="d-flex justify-content-end" mat-dialog-actions>
<button i18n mat-button type="button" (click)="onCancel()">Cancel</button>
<button mat-button type="button" (click)="onCancel()">
@if (createAssetProfileForm.dirty) {
<ng-container i18n>Cancel</ng-container>
} @else {
<ng-container i18n>Close</ng-container>
}
</button>
<button
color="primary"
mat-flat-button

6
apps/client/src/styles/table.scss

@ -1,6 +1,12 @@
@mixin gf-table($darkTheme: false) {
--mat-table-background-color: var(--light-background);
th {
.mat-sort-header-container {
justify-content: inherit;
}
}
.mat-footer-row,
.mat-row {
.mat-cell,

6
libs/common/src/lib/chart-helper.ts

@ -132,8 +132,10 @@ export function getVerticalHoverLinePlugin(
}
export function transformTickToAbbreviation(value: number) {
if (value >= -999 && value <= 999) {
return value.toString();
if (value === 0) {
return '0';
} else if (value >= -999 && value <= 999) {
return value.toFixed(2);
} else if (value >= -999999 && value <= 999999) {
return `${value / 1000}K`;
} else {

10
libs/ui/src/lib/accounts-table/accounts-table.component.scss

@ -1,13 +1,3 @@
:host {
display: block;
.gf-table {
th {
::ng-deep {
.mat-sort-header-container {
justify-content: inherit;
}
}
}
}
}

4
libs/ui/src/lib/activities-table/activities-table.component.html

@ -255,7 +255,7 @@
<ng-container matColumnDef="value">
<th
*matHeaderCellDef
class="d-none d-lg-table-cell justify-content-end px-1"
class="d-none d-lg-table-cell px-1 text-right"
mat-header-cell
>
<ng-container i18n>Value</ng-container>
@ -291,7 +291,7 @@
<ng-container matColumnDef="valueInBaseCurrency">
<th
*matHeaderCellDef
class="d-lg-none d-xl-none justify-content-end px-1"
class="d-lg-none d-xl-none px-1 text-right"
mat-header-cell
>
<ng-container i18n>Value</ng-container>

10
libs/ui/src/lib/benchmark/benchmark.component.scss

@ -1,13 +1,3 @@
:host {
display: block;
.gf-table {
th {
::ng-deep {
.mat-sort-header-container {
justify-content: inherit;
}
}
}
}
}

10
libs/ui/src/lib/holdings-table/holdings-table.component.scss

@ -1,13 +1,3 @@
:host {
display: block;
.gf-table {
th {
::ng-deep {
.mat-sort-header-container {
justify-content: inherit;
}
}
}
}
}

4
package-lock.json

@ -1,12 +1,12 @@
{
"name": "ghostfolio",
"version": "2.203.0",
"version": "2.204.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ghostfolio",
"version": "2.203.0",
"version": "2.204.0",
"hasInstallScript": true,
"license": "AGPL-3.0",
"dependencies": {

2
package.json

@ -1,6 +1,6 @@
{
"name": "ghostfolio",
"version": "2.203.0",
"version": "2.204.0",
"homepage": "https://ghostfol.io",
"license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio",

Loading…
Cancel
Save