Merge pull request #521 from mempool/simon/bisq-price-coloring

Bisq dashboard: Change color between red/green when price changes
This commit is contained in:
wiz 2021-05-14 00:53:15 +09:00 committed by GitHub
commit cb034020ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 2 deletions

View File

@ -8,7 +8,9 @@
<div class="card-body">
<h5 class="card-title" i18n="bisq-dashboard.price-index-title">Bisq Price Index</h5>
<div class="big-fiat">
<span class="green-color" *ngIf="usdPrice$ | async as usdPrice; else loading">{{ usdPrice | currency:'USD':'symbol':'1.2-2' }}</span>
<span *ngIf="usdPrice$ | async as usdPrice; else loading">
<span [appColoredPrice]="usdPrice">{{ usdPrice | currency:'USD':'symbol':'1.2-2' }}</span>
</span>
</div>
</div>
</div>
@ -18,7 +20,9 @@
<div class="card-body">
<h5 class="card-title" i18n="bisq-dashboard.market-price-title">Bisq Market Price</h5>
<div class="big-fiat">
<span class="green-color" *ngIf="bisqMarketPrice; else loading">{{ bisqMarketPrice | currency:'USD':'symbol':'1.2-2' }}</span>
<span class="green-color" *ngIf="bisqMarketPrice; else loading">
<span [appColoredPrice]="bisqMarketPrice">{{ bisqMarketPrice | currency:'USD':'symbol':'1.2-2' }}</span>
</span>
</div>
</div>
</div>

View File

@ -0,0 +1,22 @@
import { Directive, ElementRef, Input, OnChanges } from '@angular/core';
@Directive({
selector: '[appColoredPrice]',
})
export class ColoredPriceDirective implements OnChanges {
@Input() appColoredPrice: number;
previousValue = null;
constructor(
private element: ElementRef
) { }
ngOnChanges() {
if (this.previousValue && this.appColoredPrice < this.previousValue) {
this.element.nativeElement.classList.add('red-color');
} else {
this.element.nativeElement.classList.remove('red-color');
}
this.previousValue = this.appColoredPrice;
}
}

View File

@ -19,6 +19,7 @@ import { TxFeaturesComponent } from '../components/tx-features/tx-features.compo
import { TxFeeRatingComponent } from '../components/tx-fee-rating/tx-fee-rating.component';
import { ReactiveFormsModule } from '@angular/forms';
import { LanguageSelectorComponent } from '../components/language-selector/language-selector.component';
import { ColoredPriceDirective } from './directives/colored-price.directive';
@NgModule({
declarations: [
@ -39,6 +40,7 @@ import { LanguageSelectorComponent } from '../components/language-selector/langu
CeilPipe,
ShortenStringPipe,
Decimal2HexPipe,
ColoredPriceDirective,
],
imports: [
CommonModule,
@ -77,6 +79,7 @@ import { LanguageSelectorComponent } from '../components/language-selector/langu
CeilPipe,
ShortenStringPipe,
Decimal2HexPipe,
ColoredPriceDirective,
]
})
export class SharedModule {}

View File

@ -218,6 +218,10 @@ body {
color: #3bcc49;
}
.red-color {
color: #dc3545;
}
.yellow-color {
color: #ffd800;
}