diff --git a/CHANGELOG.md b/CHANGELOG.md index dd6113437..87ee49484 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Changed + +- Improved the local number formatting in the value component + ### Fixed - Fixed the vertical alignment in the toggle component diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/info/info.service.ts index 4da329667..8af8e6ee2 100644 --- a/apps/api/src/app/info/info.service.ts +++ b/apps/api/src/app/info/info.service.ts @@ -20,9 +20,11 @@ import { encodeDataSource, extractNumberFromString } from '@ghostfolio/common/helper'; -import { InfoItem } from '@ghostfolio/common/interfaces'; -import { Statistics } from '@ghostfolio/common/interfaces/statistics.interface'; -import { Subscription } from '@ghostfolio/common/interfaces/subscription.interface'; +import { + InfoItem, + Statistics, + Subscription +} from '@ghostfolio/common/interfaces'; import { permissions } from '@ghostfolio/common/permissions'; import { SubscriptionOffer } from '@ghostfolio/common/types'; import { Injectable, Logger } from '@nestjs/common'; diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts index 591721f84..37b49ee34 100644 --- a/apps/api/src/app/subscription/subscription.service.ts +++ b/apps/api/src/app/subscription/subscription.service.ts @@ -4,7 +4,7 @@ import { DEFAULT_LANGUAGE_CODE, PROPERTY_STRIPE_CONFIG } from '@ghostfolio/common/config'; -import { Subscription as SubscriptionInterface } from '@ghostfolio/common/interfaces/subscription.interface'; +import { Subscription as SubscriptionInterface } from '@ghostfolio/common/interfaces'; import { UserWithSettings } from '@ghostfolio/common/types'; import { SubscriptionType } from '@ghostfolio/common/types/subscription-type.type'; import { Injectable, Logger } from '@nestjs/common'; diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts index 59f247315..69f8eb093 100644 --- a/apps/client/src/app/pages/about/about-page.component.ts +++ b/apps/client/src/app/pages/about/about-page.component.ts @@ -3,8 +3,7 @@ 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 { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; -import { User } from '@ghostfolio/common/interfaces'; -import { Statistics } from '@ghostfolio/common/interfaces/statistics.interface'; +import { Statistics, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/about/about-page.html b/apps/client/src/app/pages/about/about-page.html index ab8bd36cc..7c5702adb 100644 --- a/apps/client/src/app/pages/about/about-page.html +++ b/apps/client/src/app/pages/about/about-page.html @@ -6,12 +6,26 @@

Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make - solid, data-driven investment decisions. We share aggregated - open source software + (OSS) under the + AGPL-3.0 license + and we share aggregated + key metrics - of our platform’s performance and the source code is fully available - as open source software (OSS). The project has been initiated by + of the platform’s performance. The project has been initiated by Thomas Kaul @@ -130,6 +144,7 @@ Active Users @@ -138,6 +153,7 @@ New Users @@ -146,6 +162,7 @@ Active Users @@ -154,6 +171,7 @@ Users in Slack community @@ -166,6 +184,7 @@ > Contributors on GitHub @@ -178,6 +197,7 @@ > Stars on GitHub diff --git a/apps/client/src/app/pages/landing/landing-page.component.ts b/apps/client/src/app/pages/landing/landing-page.component.ts index 201105d46..453534299 100644 --- a/apps/client/src/app/pages/landing/landing-page.component.ts +++ b/apps/client/src/app/pages/landing/landing-page.component.ts @@ -1,6 +1,6 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { DataService } from '@ghostfolio/client/services/data.service'; -import { Statistics } from '@ghostfolio/common/interfaces/statistics.interface'; +import { Statistics } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { format } from 'date-fns'; import { DeviceDetectorService } from 'ngx-device-detector'; diff --git a/apps/client/src/app/pages/open/open-page.component.ts b/apps/client/src/app/pages/open/open-page.component.ts index 554ab3bef..cf438a816 100644 --- a/apps/client/src/app/pages/open/open-page.component.ts +++ b/apps/client/src/app/pages/open/open-page.component.ts @@ -1,7 +1,8 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DataService } from '@ghostfolio/client/services/data.service'; -import { Statistics } from '@ghostfolio/common/interfaces/statistics.interface'; -import { Subject } from 'rxjs'; +import { UserService } from '@ghostfolio/client/services/user/user.service'; +import { Statistics, User } from '@ghostfolio/common/interfaces'; +import { Subject, takeUntil } from 'rxjs'; @Component({ host: { class: 'page' }, @@ -11,16 +12,31 @@ import { Subject } from 'rxjs'; }) export class OpenPageComponent implements OnDestroy, OnInit { public statistics: Statistics; + public user: User; private unsubscribeSubject = new Subject(); - public constructor(private dataService: DataService) { + public constructor( + private changeDetectorRef: ChangeDetectorRef, + private dataService: DataService, + private userService: UserService + ) { const { statistics } = this.dataService.fetchInfo(); this.statistics = statistics; } - public ngOnInit() {} + public ngOnInit() { + this.userService.stateChanged + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((state) => { + if (state?.user) { + this.user = state.user; + + this.changeDetectorRef.markForCheck(); + } + }); + } public ngOnDestroy() { this.unsubscribeSubject.next(); diff --git a/apps/client/src/app/pages/open/open-page.html b/apps/client/src/app/pages/open/open-page.html index 2de588429..81b4dcd4e 100644 --- a/apps/client/src/app/pages/open/open-page.html +++ b/apps/client/src/app/pages/open/open-page.html @@ -4,15 +4,21 @@

Open Startup

- At Ghostfolio, transparency is at the core of our values. We openly - share aggregated key metrics of our platform’s performance and publish + At Ghostfolio, transparency is at the core of our values. We publish the source code as open source software - (OSS). + (OSS) under the + AGPL-3.0 license + and we openly share aggregated key metrics of the platform’s + performance.

@@ -27,6 +33,7 @@ Active Users @@ -35,6 +42,7 @@ New Users @@ -43,6 +51,7 @@ Active Users @@ -51,6 +60,7 @@ Users in Slack community @@ -63,6 +73,7 @@ > Contributors on GitHub @@ -75,6 +86,7 @@ > Stars on GitHub @@ -87,6 +99,7 @@ > Pulls on Docker Hub @@ -97,6 +110,7 @@ Uptime