UNPKG

copay-crown

Version:

A Secure Crown Wallet

88 lines (78 loc) 2.99 kB
import { Component } from "@angular/core"; import { TranslateService } from '@ngx-translate/core'; import { ModalController, NavController } from 'ionic-angular'; import { Logger } from '../../../providers/logger/logger'; // providers import { OnGoingProcessProvider } from '../../../providers/on-going-process/on-going-process'; import { PopupProvider } from '../../../providers/popup/popup'; import { ProfileProvider } from '../../../providers/profile/profile'; import { WalletProvider } from '../../../providers/wallet/wallet'; // pages import { TxDetailsPage } from '../../tx-details/tx-details'; import { TxpDetailsPage } from '../../txp-details/txp-details'; import * as _ from 'lodash'; @Component({ selector: 'page-activity', templateUrl: 'activity.html', }) export class ActivityPage { public addressbook: any; public txps: any; public notifications: any; constructor( private navCtrl: NavController, private logger: Logger, private profileProvider: ProfileProvider, private modalCtrl: ModalController, private onGoingProcessProvider: OnGoingProcessProvider, private walletProvider: WalletProvider, private popupProvider: PopupProvider, private translate: TranslateService ) { } ionViewWillEnter() { let loading = this.translate.instant('Updating... Please stand by'); this.onGoingProcessProvider.set(loading); this.profileProvider.getNotifications(50).then((nData: any) => { this.onGoingProcessProvider.clear(); this.notifications = nData.notifications; this.profileProvider.getTxps({}).then((txpsData: any) => { this.txps = txpsData.txps; }).catch((err) => { this.logger.error(err); }); }).catch((err) => { this.onGoingProcessProvider.clear(); this.logger.error(err); }); } public openNotificationModal(n: any): void { let wallet = this.profileProvider.getWallet(n.walletId); if (n.txid) { this.navCtrl.push(TxDetailsPage, { txid: n.txid, walletId: n.walletId }); } else { let txp = _.find(this.txps, { id: n.txpId }); if (txp) { let modal = this.modalCtrl.create(TxpDetailsPage, { tx: txp }, { showBackdrop: false, enableBackdropDismiss: false }); modal.present(); } else { this.onGoingProcessProvider.set('loadingTxInfo'); this.walletProvider.getTxp(wallet, n.txpId).then((txp) => { let _txp = txp; this.onGoingProcessProvider.clear(); let modal = this.modalCtrl.create(TxpDetailsPage, { tx: _txp }, { showBackdrop: false, enableBackdropDismiss: false }); modal.present(); }).catch((err) => { this.onGoingProcessProvider.clear(); this.logger.warn('No txp found'); let title = this.translate.instant('Error'); let subtitle = this.translate.instant('Transaction not found'); this.popupProvider.ionicAlert(title, subtitle); }); } } }; }