From 5a551a5e3ba5dbdad74f7403e12baaf3a1c4603e Mon Sep 17 00:00:00 2001 From: Darren Nelsen Date: Thu, 10 Aug 2017 17:19:31 -0400 Subject: [PATCH] add currency conversion button and action sheet --- app/src/app/app.module.ts | 4 +- app/src/components/head-nav/head-nav.html | 3 ++ app/src/components/head-nav/head-nav.ts | 48 +++++++++++++++++++- app/src/pages/block-detail/block-detail.html | 2 +- app/src/pages/block-detail/block-detail.ts | 3 +- 5 files changed, 56 insertions(+), 4 deletions(-) diff --git a/app/src/app/app.module.ts b/app/src/app/app.module.ts index ca547f3..c0b673b 100644 --- a/app/src/app/app.module.ts +++ b/app/src/app/app.module.ts @@ -8,6 +8,7 @@ import { InsightApp } from './app.component'; import { PagesModule, BlocksPage, BroadcastTxPage, NodeStatusPage, VerifyMessagePage } from '../pages'; import { BlocksService, StorageService } from '../services'; import { ApiProvider } from '../providers/api/api'; +import { CurrencyProvider } from '../providers/currency/currency'; @NgModule({ declarations: [ @@ -33,7 +34,8 @@ import { ApiProvider } from '../providers/api/api'; StorageService, BlocksService, {provide: ErrorHandler, useClass: IonicErrorHandler}, - ApiProvider + ApiProvider, + CurrencyProvider ] }) diff --git a/app/src/components/head-nav/head-nav.html b/app/src/components/head-nav/head-nav.html index b441164..e7f73fd 100644 --- a/app/src/components/head-nav/head-nav.html +++ b/app/src/components/head-nav/head-nav.html @@ -4,6 +4,9 @@ {{title}} + diff --git a/app/src/components/head-nav/head-nav.ts b/app/src/components/head-nav/head-nav.ts index 54fee4c..b38b01c 100644 --- a/app/src/components/head-nav/head-nav.ts +++ b/app/src/components/head-nav/head-nav.ts @@ -3,6 +3,8 @@ import { Input } from '@angular/core'; import { NavController } from 'ionic-angular'; import { Http } from '@angular/http'; import { ApiProvider } from '../../providers/api/api'; +import { CurrencyProvider } from '../../providers/currency/currency'; +import { ActionSheetController } from 'ionic-angular'; /** * Generated class for the HeadNavComponent component. @@ -21,7 +23,7 @@ export class HeadNavComponent { public q: string; public badQuery: boolean = false; - constructor(private navCtrl: NavController, private http: Http, private api: ApiProvider) { + constructor(private navCtrl: NavController, private http: Http, private api: ApiProvider, public currency: CurrencyProvider, public actionSheetCtrl: ActionSheetController) { } private resetSearch(): void { @@ -98,4 +100,48 @@ export class HeadNavComponent { }; /* tslint:enable:no-unused-variable */ + public changeCurrency() { + console.log('changeCurrency'); + this.presentActionSheet(); + } + + presentActionSheet() { + let actionSheet = this.actionSheetCtrl.create({ + title: 'Change Currency', + buttons: [ + { + text: 'USD', + handler: () => { + this.currency.setCurrency('USD'); + } + }, + { + text: 'BTC', + handler: () => { + this.currency.setCurrency('BTC'); + } + }, + { + text: 'mBTC', + handler: () => { + this.currency.setCurrency('mBTC'); + } + }, + { + text: 'bits', + handler: () => { + this.currency.setCurrency('bits'); + } + }, + { + text: 'Cancel', + role: 'cancel', + handler: () => { + console.log('Cancel clicked'); + } + } + ] + }); + actionSheet.present(); + } } diff --git a/app/src/pages/block-detail/block-detail.html b/app/src/pages/block-detail/block-detail.html index fcd94f6..daa0444 100644 --- a/app/src/pages/block-detail/block-detail.html +++ b/app/src/pages/block-detail/block-detail.html @@ -24,7 +24,7 @@ Block Reward - {{ block.reward + ' BTC' }} + {{ currency.getConversion(block.reward) }} diff --git a/app/src/pages/block-detail/block-detail.ts b/app/src/pages/block-detail/block-detail.ts index 66053d5..fb3b333 100644 --- a/app/src/pages/block-detail/block-detail.ts +++ b/app/src/pages/block-detail/block-detail.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { Http } from '@angular/http'; import { ApiProvider } from '../../providers/api/api'; +import { CurrencyProvider } from '../../providers/currency/currency'; /** * Generated class for the BlockDetailPage page. @@ -25,7 +26,7 @@ export class BlockDetailPage { tx: [] }; - constructor(public navCtrl: NavController, private http: Http, public navParams: NavParams, private api: ApiProvider) { + constructor(public navCtrl: NavController, private http: Http, public navParams: NavParams, private api: ApiProvider, public currency: CurrencyProvider) { this.blockHash = navParams.get('blockHash'); this.http.get(this.api.apiPrefix + 'block/' + this.blockHash).subscribe(