mirror of https://github.com/ghostfolio/ghostfolio
Browse Source
* Add pulls on Docker Hub to statistics * Add statistics to landing page * Update changelogpull/1307/head
committed by
GitHub
11 changed files with 169 additions and 69 deletions
@ -1,67 +1,73 @@ |
|||||
<ng-template #label><ng-content></ng-content></ng-template> |
<div *ngIf="icon" class="align-self-center mr-3"> |
||||
<ng-container *ngIf="value || value === 0 || value === null"> |
<ion-icon class="h3 m-0" [name]="icon"></ion-icon> |
||||
<div |
</div> |
||||
class="d-flex" |
<div> |
||||
[ngClass]="position === 'end' ? 'justify-content-end' : ''" |
<ng-template #label><ng-content></ng-content></ng-template> |
||||
> |
<ng-container *ngIf="value || value === 0 || value === null"> |
||||
<ng-container *ngIf="isNumber || value === null"> |
<div |
||||
<ng-container *ngIf="colorizeSign && !useAbsoluteValue"> |
class="d-flex" |
||||
<div *ngIf="value > 0" class="mr-1 text-success">+</div> |
[ngClass]="position === 'end' ? 'justify-content-end' : ''" |
||||
<div *ngIf="value < 0" class="mr-1 text-danger">-</div> |
> |
||||
</ng-container> |
<ng-container *ngIf="isNumber || value === null"> |
||||
<div |
<ng-container *ngIf="colorizeSign && !useAbsoluteValue"> |
||||
*ngIf="isPercent" |
<div *ngIf="value > 0" class="mr-1 text-success">+</div> |
||||
class="mb-0 value" |
<div *ngIf="value < 0" class="mr-1 text-danger">-</div> |
||||
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
|
||||
> |
|
||||
{{ formattedValue }}% |
|
||||
</div> |
|
||||
<div |
|
||||
*ngIf="!isPercent" |
|
||||
class="mb-0 value" |
|
||||
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
|
||||
> |
|
||||
<ng-container *ngIf="value === null"> |
|
||||
<span class="text-monospace text-muted">***</span> |
|
||||
</ng-container> |
|
||||
<ng-container *ngIf="value !== null"> |
|
||||
{{ formattedValue }} |
|
||||
</ng-container> |
</ng-container> |
||||
|
<div |
||||
|
*ngIf="isPercent" |
||||
|
class="mb-0 value" |
||||
|
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
||||
|
> |
||||
|
{{ formattedValue }}% |
||||
|
</div> |
||||
|
<div |
||||
|
*ngIf="!isPercent" |
||||
|
class="mb-0 value" |
||||
|
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
||||
|
> |
||||
|
<ng-container *ngIf="value === null"> |
||||
|
<span class="text-monospace text-muted">***</span> |
||||
|
</ng-container> |
||||
|
<ng-container *ngIf="value !== null"> |
||||
|
{{ formattedValue }} |
||||
|
</ng-container> |
||||
|
</div> |
||||
|
<small *ngIf="currency && size === 'medium'" class="ml-1"> |
||||
|
{{ currency }} |
||||
|
</small> |
||||
|
<div *ngIf="currency && size !== 'medium'" class="ml-1"> |
||||
|
{{ currency }} |
||||
|
</div> |
||||
|
</ng-container> |
||||
|
<ng-container *ngIf="isString"> |
||||
|
<div |
||||
|
class="mb-0 text-truncate value" |
||||
|
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
||||
|
> |
||||
|
{{ formattedValue | titlecase }} |
||||
|
</div> |
||||
|
</ng-container> |
||||
|
</div> |
||||
|
<ng-container> |
||||
|
<div *ngIf="size === 'large'"> |
||||
|
<span class="h6" |
||||
|
><ng-container *ngTemplateOutlet="label"></ng-container |
||||
|
></span> |
||||
|
<span *ngIf="subLabel" class="text-muted"> {{ subLabel }}</span> |
||||
</div> |
</div> |
||||
<small *ngIf="currency && size === 'medium'" class="ml-1"> |
<small *ngIf="size !== 'large'"> |
||||
{{ currency }} |
<ng-container *ngTemplateOutlet="label"></ng-container> |
||||
</small> |
</small> |
||||
<div *ngIf="currency && size !== 'medium'" class="ml-1"> |
|
||||
{{ currency }} |
|
||||
</div> |
|
||||
</ng-container> |
</ng-container> |
||||
<ng-container *ngIf="isString"> |
|
||||
<div |
|
||||
class="mb-0 text-truncate value" |
|
||||
[ngClass]="{ h2: size === 'large', h4: size === 'medium' }" |
|
||||
> |
|
||||
{{ formattedValue | titlecase }} |
|
||||
</div> |
|
||||
</ng-container> |
|
||||
</div> |
|
||||
<ng-container> |
|
||||
<div *ngIf="size === 'large'"> |
|
||||
<span class="h6" |
|
||||
><ng-container *ngTemplateOutlet="label"></ng-container |
|
||||
></span> |
|
||||
<span *ngIf="subLabel" class="text-muted"> {{ subLabel }}</span> |
|
||||
</div> |
|
||||
<small *ngIf="size !== 'large'"> |
|
||||
<ng-container *ngTemplateOutlet="label"></ng-container> |
|
||||
</small> |
|
||||
</ng-container> |
</ng-container> |
||||
</ng-container> |
|
||||
|
|
||||
<ngx-skeleton-loader |
<ngx-skeleton-loader |
||||
*ngIf="value === undefined" |
*ngIf="value === undefined" |
||||
animation="pulse" |
animation="pulse" |
||||
[theme]="{ |
[theme]="{ |
||||
height: size === 'large' ? '2.5rem' : size === 'medium' ? '2rem' : '1.5rem', |
height: |
||||
width: '5rem' |
size === 'large' ? '2.5rem' : size === 'medium' ? '2rem' : '1.5rem', |
||||
}" |
width: '5rem' |
||||
></ngx-skeleton-loader> |
}" |
||||
|
></ngx-skeleton-loader> |
||||
|
</div> |
||||
|
Loading…
Reference in new issue