Feature/migrate value component to control flow (#4592)

* Migrate to control flow

* Update changelog
This commit is contained in:
Thomas Kaul 2025-04-23 20:23:20 +02:00 committed by GitHub
parent 53a81b3c2b
commit 10580e22d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 50 additions and 45 deletions

View File

@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Renamed `User` to `user` in the `Subscription` database schema
- Migrated the `@ghostfolio/ui/assistant` component to control flow
- Migrated the `@ghostfolio/ui/value` component to control flow
### Fixed

View File

@ -13,42 +13,45 @@
<div *ngIf="+value > 0" class="mr-1 text-success">+</div>
<div *ngIf="+value < 0" class="mr-1 text-danger">-</div>
</ng-container>
<div
*ngIf="isPercent"
class="mb-0 value"
[ngClass]="{
'font-weight-bold h2': size === 'large',
h4: size === 'medium'
}"
>
@if (value === null) {
<span class="text-monospace text-muted">*****</span>%
} @else {
{{ formattedValue }}%
}
</div>
<div
*ngIf="!isPercent"
class="mb-0 value"
[ngClass]="{
'font-weight-bold h2': size === 'large',
h4: size === 'medium'
}"
>
@if (value === null) {
<span class="text-monospace text-muted">*****</span>
} @else {
{{ formattedValue }}
}
</div>
<small *ngIf="unit && size === 'medium'" class="ml-1">
{{ unit }}
</small>
<div *ngIf="unit && size !== 'medium'" class="ml-1">
{{ unit }}
</div>
@if (isPercent) {
<div
class="mb-0 value"
[ngClass]="{
'font-weight-bold h2': size === 'large',
h4: size === 'medium'
}"
>
@if (value === null) {
<span class="text-monospace text-muted">*****</span>%
} @else {
{{ formattedValue }}%
}
</div>
} @else {
<div
class="mb-0 value"
[ngClass]="{
'font-weight-bold h2': size === 'large',
h4: size === 'medium'
}"
>
@if (value === null) {
<span class="text-monospace text-muted">*****</span>
} @else {
{{ formattedValue }}
}
</div>
}
@if (unit) {
<small *ngIf="size === 'medium'" class="ml-1">
{{ unit }}
</small>
<div *ngIf="size !== 'medium'" class="ml-1">
{{ unit }}
</div>
}
</ng-container>
<ng-container *ngIf="isString">
@if (isString) {
<div
class="mb-0 text-truncate value"
[ngClass]="{
@ -58,19 +61,20 @@
>
{{ formattedValue }}
</div>
</ng-container>
}
</div>
</ng-container>
<ngx-skeleton-loader
*ngIf="value === undefined"
animation="pulse"
[theme]="{
height:
size === 'large' ? '2rem' : size === 'medium' ? '1.8rem' : '1.5rem',
width: '5rem'
}"
/>
@if (value === undefined) {
<ngx-skeleton-loader
animation="pulse"
[theme]="{
height:
size === 'large' ? '2rem' : size === 'medium' ? '1.8rem' : '1.5rem',
width: '5rem'
}"
/>
}
<ng-container>
<div *ngIf="size === 'large'" class="text-truncate">