Skip to content

Commit 440082f

Browse files
committed
Display current state of a wallet
1 parent 4c43c4f commit 440082f

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

src/pages/all-assets/all-assets.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@
2424
<ion-searchbar (ionInput)="onFilterTriggered($event)"></ion-searchbar>
2525

2626
<ion-list inset>
27+
<ion-item>
28+
<ion-avatar item-start>
29+
<img src="../../assets/imgs/cryptocurrencies/bitcoin.png" />
30+
</ion-avatar>
31+
32+
<h3>Purchase price: {{ (purchasePrice).toFixed(3) }} BTC</h3>
33+
<h3>Current price: {{ (currentPrice).toFixed(3) }} BTC</h3>
34+
<h3>Change: {{ (((currentPrice - purchasePrice) / purchasePrice) * 100).toFixed(3) }} %</h3>
35+
</ion-item>
36+
2737
<ion-item-sliding *ngFor="let asset of filtered" #slidingItem>
2838
<ion-item>
2939
<ion-avatar item-start>

src/pages/all-assets/all-assets.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { UserAuthenticationPage } from '../user-authentication/user-authenticati
1111
import { InsertAssetPage } from '../insert-asset/insert-asset';
1212
import { UpdateAssetPage } from '../update-asset/update-asset';
1313
import { AllWalletsPage } from '../all-wallets/all-wallets';
14+
import { CoinMarketCapProvider } from '../../providers/coinmarketcap/coinmarketcap';
1415

1516
@Component({
1617
selector: 'page-all-assets',
@@ -21,8 +22,10 @@ export class AllAssetsPage {
2122
public wallet: Wallet;
2223
public filtered: Array<Asset> = [];
2324
public all: Array<Asset> = [];
25+
public purchasePrice: number = 0;
26+
public currentPrice: number = 0;
2427

25-
constructor(private navCtrl: NavController, private navParams: NavParams, private loadingCtrl: LoadingController, private toastCtrl: ToastController, private alertCtrl: AlertController, private registeredUserProvider: RegisteredUserProvider, private localStorageProvider: LocalStorageProvider) {}
28+
constructor(private navCtrl: NavController, private navParams: NavParams, private loadingCtrl: LoadingController, private toastCtrl: ToastController, private alertCtrl: AlertController, private registeredUserProvider: RegisteredUserProvider, private coinMarketCapProvider: CoinMarketCapProvider, private localStorageProvider: LocalStorageProvider) {}
2629

2730
public ionViewWillEnter(): void {
2831
if (!this.localStorageProvider.isUserRegistered()) {
@@ -49,6 +52,18 @@ export class AllAssetsPage {
4952
this.all = result.data;
5053
this.filtered = result.data;
5154

55+
for (let offset = 0; offset < this.all.length; offset++) {
56+
let asset: Asset = this.all[offset];
57+
this.purchasePrice = this.purchasePrice + asset.purchasePrice;
58+
this.coinMarketCapProvider.getPrice(asset.cryptocurrency).subscribe(result => {
59+
console.log(result);console.log(asset.amount);console.log(parseFloat(result[0].price_btc));
60+
this.currentPrice = this.currentPrice + (asset.amount * parseFloat(result[0].price_btc));
61+
}, error => {
62+
console.error(error);
63+
this.toastCtrl.create({ message: 'An error occured...', duration: 3000, position: 'top' }).present();
64+
});
65+
}
66+
5267
loadingOverlay.dismiss();
5368
}, error => {
5469
console.error(error);

0 commit comments

Comments
 (0)