From 495abfb098e8f25e7a0fb1c9120fb6dc642a119c Mon Sep 17 00:00:00 2001 From: Dotan Simha Date: Thu, 3 Nov 2016 19:41:21 +0200 Subject: [PATCH] Step 5.14: Add verification component --- src/pages/verification/verification.ts | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/pages/verification/verification.ts diff --git a/src/pages/verification/verification.ts b/src/pages/verification/verification.ts new file mode 100644 index 000000000..91752bbc6 --- /dev/null +++ b/src/pages/verification/verification.ts @@ -0,0 +1,53 @@ +import { Component, OnInit, NgZone } from '@angular/core'; +import { NavController, NavParams, AlertController } from 'ionic-angular'; +import { Accounts } from 'meteor/accounts-base'; + +@Component({ + selector: 'verification', + templateUrl: 'verification.html' +}) +export class VerificationComponent implements OnInit { + code: string = ''; + phone: string; + + constructor( + public navCtrl: NavController, + public alertCtrl: AlertController, + public zone: NgZone, + public navParams: NavParams + ) {} + + ngOnInit() { + this.phone = this.navParams.get('phone'); + } + + onInputKeypress({keyCode}: KeyboardEvent): void { + if (keyCode == 13) { + this.verify(); + } + } + + verify(): void { + Accounts.verifyPhone(this.phone, this.code, (e: Error) => { + this.zone.run(() => { + if (e) return this.handleError(e); + + // this.navCtrl.setRoot(ProfileComponent, {}, { + // animate: true + // }); + }); + }); + } + + private handleError(e: Error): void { + console.error(e); + + const alert = this.alertCtrl.create({ + title: 'Oops!', + message: e.message, + buttons: ['OK'] + }); + + alert.present(); + } +}