set tx parameters properly - add view on blockchain

This commit is contained in:
JDonadio 2017-11-09 11:38:32 -03:00
parent 6430f12cae
commit 411622d843
No known key found for this signature in database
GPG Key ID: EC1F4E04B2BFA730
4 changed files with 32 additions and 14 deletions

View File

@ -21,7 +21,7 @@
</div> </div>
<div class="amount-str">{{amountStr | toUnit : tx.amount}}</div> <div class="amount-str">{{amountStr | toUnit : tx.amount}}</div>
<div class="amount-alt-str">{{fiatAmountStr | toFiat : tx.amount}}</div> <div class="amount-alt-str">{{tx.alternativeAmountStr || '...'}}</div>
</ion-item> </ion-item>
<ion-item> <ion-item>
@ -29,15 +29,16 @@
<img src="assets/img/icon-wallet.svg" class="icon-wallet"> <img src="assets/img/icon-wallet.svg" class="icon-wallet">
</ion-avatar> </ion-avatar>
<h2 translate>To</h2> <h2 translate>To</h2>
<p>{{destinationAddress || '...address to send...'}}</p> <p *ngIf="tx.action != 'sent'">{{wallet.name || '...'}}</p>
<p *ngIf="tx.action == 'sent'">{{destinationAddress || '...'}}</p>
</ion-item> </ion-item>
<ion-item *ngIf="tx.action != 'received'"> <ion-item *ngIf="tx.action == 'sent'">
<ion-avatar item-start> <ion-avatar item-start>
<img src="assets/img/icon-wallet.svg" class="icon-wallet"> <img src="assets/img/icon-wallet.svg" class="icon-wallet">
</ion-avatar> </ion-avatar>
<h2 translate>From</h2> <h2 translate>From</h2>
<p>{{destinationAddress || '...address from was sent...'}}</p> <p>{{wallet.name || '...'}}</p>
</ion-item> </ion-item>
<ion-item> <ion-item>
@ -54,13 +55,15 @@
<button ion-item (click)="addMemo()" *ngIf="tx.action != 'received'"> <button ion-item (click)="addMemo()" *ngIf="tx.action != 'received'">
<ion-label>{{'Fee' | translate}}</ion-label> <ion-label>{{'Fee' | translate}}</ion-label>
<span>{{tx.message}}</span> <ion-note item-end>
{{tx.feeStr}} - {{fiatFee | toFiat: tx.fees || '...'}}
</ion-note>
</button> </button>
<ion-item> <ion-item>
<ion-label>{{'Confirmations' | translate}}</ion-label> <ion-label>{{'Confirmations' | translate}}</ion-label>
<ion-note item-end> <ion-note item-end>
{{tx.Confirmations || 'Unconfirmed' | translate}} {{(tx.safeConfirmed || tx.Confirmations) || 'Unconfirmed' | translate}}
</ion-note> </ion-note>
</ion-item> </ion-item>
</ion-list> </ion-list>

View File

@ -1,6 +1,8 @@
import { Component } from "@angular/core"; import { Component } from "@angular/core";
import { NavParams } from 'ionic-angular'; import { NavParams } from 'ionic-angular';
import { TxFormatProvider } from '../../providers/tx-format/tx-format'; import { TxFormatProvider } from '../../providers/tx-format/tx-format';
import { WalletProvider } from '../../providers/wallet/wallet';
import { ExternalLinkProvider } from '../../providers/external-link/external-link';
@Component({ @Component({
selector: 'page-tx-details', selector: 'page-tx-details',
@ -9,20 +11,35 @@ import { TxFormatProvider } from '../../providers/tx-format/tx-format';
export class TxDetailsPage { export class TxDetailsPage {
public title: string; public title: string;
public tx: any; public tx: any;
public fiatAmountStr: string; public destinationAddress: string;
private wallet: any;
constructor( constructor(
private navParams: NavParams, private navParams: NavParams,
private txFormatProvider: TxFormatProvider, private txFormatProvider: TxFormatProvider,
private walletProvider: WalletProvider,
private externalLinkProvider: ExternalLinkProvider,
) { ) {
this.wallet = this.navParams.data.wallet;
this.tx = this.navParams.data.tx; this.tx = this.navParams.data.tx;
this.fiatAmountStr = this.txFormatProvider.formatAlternativeStr('btc', this.tx.amount);
} }
ionViewDidEnter() { ionViewDidEnter() {
if (this.tx.action == 'sent') this.title = 'Sent Funds'; if (this.tx.action == 'sent') this.title = 'Sent Funds';
if (this.tx.action == 'received') this.title = 'Received Funds'; if (this.tx.action == 'received') this.title = 'Received Funds';
if (this.tx.action == 'moved') this.title = 'Moved Funds'; if (this.tx.action == 'moved') this.title = 'Moved Funds';
this.walletProvider.getTx(this.wallet, this.tx.txid).then((tx) => {
this.updateTxParams(tx);
}).catch((err) => {
console.log('ERROR', err);
});
}
private updateTxParams(tx: any) {
this.tx = tx;
this.destinationAddress = tx.addressTo;
} }
addMemo() { addMemo() {
@ -30,6 +47,7 @@ export class TxDetailsPage {
} }
viewOnBlockchain() { viewOnBlockchain() {
return; const url = 'https://insight.bitpay.com/tx/' + this.tx.txid;
this.externalLinkProvider.open(url);
} }
} }

View File

@ -38,6 +38,7 @@ page-wallet-details {
.detail { .detail {
position: absolute; position: absolute;
right: 40px; right: 40px;
text-align: end;
.amount { .amount {
color: color($colors, primary); color: color($colors, primary);
font-size: 16px; font-size: 16px;

View File

@ -1,7 +1,6 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular'; import { NavController, NavParams } from 'ionic-angular';
import { WalletProvider } from '../../providers/wallet/wallet'; import { WalletProvider } from '../../providers/wallet/wallet';
import { ConfigProvider } from '../../providers/config/config';
import { TxDetailsPage } from '../../pages/tx-details/tx-details'; import { TxDetailsPage } from '../../pages/tx-details/tx-details';
@Component({ @Component({
@ -10,17 +9,14 @@ import { TxDetailsPage } from '../../pages/tx-details/tx-details';
}) })
export class WalletDetailsPage { export class WalletDetailsPage {
public wallet: any; public wallet: any;
public unitCode: string;
public alternativeBalanceStr: string; public alternativeBalanceStr: string;
constructor( constructor(
private navCtrl: NavController, private navCtrl: NavController,
private navParams: NavParams, private navParams: NavParams,
private walletProvider: WalletProvider, private walletProvider: WalletProvider,
private configProvider: ConfigProvider,
) { ) {
this.wallet = this.navParams.data.wallet; this.wallet = this.navParams.data.wallet;
this.unitCode = this.configProvider.get()['wallet']['settings'].unitCode;
} }
ionViewDidEnter() { ionViewDidEnter() {
@ -32,7 +28,7 @@ export class WalletDetailsPage {
} }
goToTxDetails(tx: any) { goToTxDetails(tx: any) {
this.navCtrl.push(TxDetailsPage, {tx: tx}); this.navCtrl.push(TxDetailsPage, {wallet: this.wallet, tx: tx});
} }
getTxHistory(force?: boolean) { getTxHistory(force?: boolean) {