diff --git a/app/e2e/app.e2e-spec.ts b/app/e2e/app.e2e-spec.ts index 03fa8a5..4b8a378 100644 --- a/app/e2e/app.e2e-spec.ts +++ b/app/e2e/app.e2e-spec.ts @@ -7,17 +7,13 @@ describe('InsightApp', () => { }); it('should have a title', () => { - expect(browser.getTitle()).toEqual('Blocks'); + expect(browser.getTitle()).toEqual('Home'); }); it('should have {nav}', () => { expect(element(by.css('ion-navbar')).isPresent()).toEqual(true); }); - it('should have correct nav text for Home', () => { - expect(element(by.css('ion-navbar:first-child')).getText()).toContain('Blocks'); - }); - it('has a menu button that displays the left menu', () => { element(by.css('.bar-button-menutoggle')).click() .then(() => { diff --git a/app/src/components/latest-blocks/latest-blocks.html b/app/src/components/latest-blocks/latest-blocks.html index 320ae6f..d453741 100644 --- a/app/src/components/latest-blocks/latest-blocks.html +++ b/app/src/components/latest-blocks/latest-blocks.html @@ -27,6 +27,11 @@ {{ block.size }} + + + + + diff --git a/app/src/components/latest-blocks/latest-blocks.scss b/app/src/components/latest-blocks/latest-blocks.scss index c9a1377..0ae897d 100644 --- a/app/src/components/latest-blocks/latest-blocks.scss +++ b/app/src/components/latest-blocks/latest-blocks.scss @@ -15,5 +15,9 @@ latest-blocks { background-color: white; border-top: none; } + + ion-row:last-child { + background-color: white; + } } } diff --git a/app/src/components/latest-blocks/latest-blocks.ts b/app/src/components/latest-blocks/latest-blocks.ts index 940fa05..34200b1 100644 --- a/app/src/components/latest-blocks/latest-blocks.ts +++ b/app/src/components/latest-blocks/latest-blocks.ts @@ -19,12 +19,14 @@ export class LatestBlocksComponent { constructor(private blocksProvider: BlocksProvider, private navCtrl: NavController) { this.loadBlocks(); + /* setInterval( function (): void { this.loadBlocks.call(this); }.bind(this), 1000 * 30 ); + */ } private loadBlocks(): void { @@ -51,4 +53,8 @@ export class LatestBlocksComponent { return this.blocks.filter((block, index) => index < num); /* tslint:enable:no-unused-variable */ } + + public goToBlocks(): void { + this.navCtrl.push('blocks'); + } } diff --git a/app/src/components/latest-transactions/latest-transactions.ts b/app/src/components/latest-transactions/latest-transactions.ts index 51a967c..4650fff 100644 --- a/app/src/components/latest-transactions/latest-transactions.ts +++ b/app/src/components/latest-transactions/latest-transactions.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; -import { Http } from '@angular/http'; -import { ApiProvider } from '../../providers/api/api'; +// import { Http } from '@angular/http'; +// import { ApiProvider } from '../../providers/api/api'; /** * Generated class for the LatestTransactionsComponent component. @@ -16,7 +16,7 @@ export class LatestTransactionsComponent { private text: string; - constructor(private http: Http, private api: ApiProvider) { + constructor(/*private http: Http, private api: ApiProvider*/) { console.log('Hello LatestTransactionsComponent Component'); this.text = 'Hello Latest Transactions'; diff --git a/app/src/pages/blocks/blocks.html b/app/src/pages/blocks/blocks.html new file mode 100644 index 0000000..6f82937 --- /dev/null +++ b/app/src/pages/blocks/blocks.html @@ -0,0 +1,39 @@ + + + + + +
+ +
+ +
+

Blocks

+ + + Height + Timestamp + Transactions + Mined By + Size + + + + {{block.height}} + + + {{ block.time * 1000 | date:'medium' }} + + + {{ block.txlength }} + + + {{block.poolInfo.poolName}} + + + {{ block.size }} + + + +
+
diff --git a/app/src/pages/blocks/blocks.module.ts b/app/src/pages/blocks/blocks.module.ts new file mode 100644 index 0000000..0ec9cc7 --- /dev/null +++ b/app/src/pages/blocks/blocks.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { IonicPageModule } from 'ionic-angular'; +import { BlocksPage } from './blocks'; +import { HeadNavComponentModule } from '../../components/head-nav/head-nav.module'; + +@NgModule({ + declarations: [ + BlocksPage + ], + imports: [ + IonicPageModule.forChild(BlocksPage), + HeadNavComponentModule + ], + exports: [ + BlocksPage + ] +}) +export class BlocksPageModule {} diff --git a/app/src/pages/blocks/blocks.scss b/app/src/pages/blocks/blocks.scss new file mode 100644 index 0000000..563b211 --- /dev/null +++ b/app/src/pages/blocks/blocks.scss @@ -0,0 +1,23 @@ +page-blocks { + ion-grid { + // border: 2px solid green; + margin: 10px 0 20px; + + ion-row { + border-top: 1px solid #ccc; + } + + ion-row:nth-child(even) { + background-color: #f4f4f4; + } + + ion-row:first-child { + background-color: white; + border-top: none; + } + + ion-row:last-child { + background-color: white; + } + } +} diff --git a/app/src/pages/blocks/blocks.ts b/app/src/pages/blocks/blocks.ts new file mode 100644 index 0000000..5dcf67c --- /dev/null +++ b/app/src/pages/blocks/blocks.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import { IonicPage, NavController, NavParams } from 'ionic-angular'; +import { BlocksProvider } from '../../providers/blocks/blocks'; + +/** + * Generated class for the BlocksPage page. + * + * See http://ionicframework.com/docs/components/#navigation for more info + * on Ionic pages and navigation. + */ +@IonicPage({ + name: 'blocks', + segment: 'blocks/' +}) +@Component({ + selector: 'page-blocks', + templateUrl: 'blocks.html' +}) +export class BlocksPage { + + public loading: boolean = true; + public blocks: Array = []; + + constructor(public navCtrl: NavController, public navParams: NavParams, private blocksProvider: BlocksProvider) { + this.blocksProvider.getBlocks().subscribe( + (data) => { + this.blocks = JSON.parse(data['_body']).blocks; + console.log('this.blocks', this.blocks); + this.loading = false; + }, + (err) => { + console.log('err', err); + this.loading = false; + } + ); + } +} diff --git a/app/src/pages/blocksPage/blocksPage.ts b/app/src/pages/blocksPage/blocksPage.ts index b48f130..e5273a4 100644 --- a/app/src/pages/blocksPage/blocksPage.ts +++ b/app/src/pages/blocksPage/blocksPage.ts @@ -4,10 +4,12 @@ import { Observable } from 'rxjs'; import { Block } from '../../models'; import { BlocksService } from '../../services'; +/** + * @deprecated Use BlocksPage from ../blocks/blocks + */ @Component({ templateUrl: './blocksPage.html' }) - export class BlocksPage { public title: string; diff --git a/app/src/pages/index.ts b/app/src/pages/index.ts index 19b1b7c..67a109d 100644 --- a/app/src/pages/index.ts +++ b/app/src/pages/index.ts @@ -1,6 +1,6 @@ -export * from './blocksPage/blocksPage'; export * from './broadcastTxPage/broadcastTxPage'; export * from './nodeStatusPage/nodeStatusPage'; export * from './verifyMessagePage/verifyMessagePage'; export * from './home/home'; +export * from './blocks/blocks'; export * from './pages.module'; diff --git a/app/src/pages/pages.module.ts b/app/src/pages/pages.module.ts index 4787ac8..6156b14 100644 --- a/app/src/pages/pages.module.ts +++ b/app/src/pages/pages.module.ts @@ -1,12 +1,12 @@ import { NgModule } from '@angular/core'; import { IonicModule } from 'ionic-angular'; import { ComponentsModule } from '../components'; +import { BlocksPageModule } from '../pages/blocks/blocks.module'; import { HeadNavComponentModule } from '../components/head-nav/head-nav.module'; import { LatestTransactionsComponentModule } from '../components/latest-transactions/latest-transactions.module'; import { LatestBlocksComponentModule } from '../components/latest-blocks/latest-blocks.module'; import { HomePage, - BlocksPage, BroadcastTxPage, NodeStatusPage, VerifyMessagePage @@ -15,7 +15,6 @@ import { @NgModule({ declarations: [ HomePage, - BlocksPage, BroadcastTxPage, NodeStatusPage, VerifyMessagePage @@ -23,6 +22,7 @@ import { imports: [ IonicModule, ComponentsModule, + BlocksPageModule, HeadNavComponentModule, LatestTransactionsComponentModule, LatestBlocksComponentModule