From 882d00e56a70ac78f153449e5792395d3ea51d95 Mon Sep 17 00:00:00 2001 From: Dotan Simha Date: Thu, 3 Nov 2016 19:38:13 +0200 Subject: [PATCH] Step 5.9: Create login component --- src/pages/auth/login.ts | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/pages/auth/login.ts diff --git a/src/pages/auth/login.ts b/src/pages/auth/login.ts new file mode 100644 index 000000000..65cc683bc --- /dev/null +++ b/src/pages/auth/login.ts @@ -0,0 +1,67 @@ +import { Component } from '@angular/core'; +import { NavController, AlertController } from 'ionic-angular'; + +@Component({ + selector: 'login', + templateUrl: "login.html" +}) +export class LoginComponent { + phone = ''; + + constructor( + public navCtrl: NavController, + public alertCtrl: AlertController + ) {} + + onInputKeypress({keyCode}: KeyboardEvent): void { + if (keyCode == 13) { + this.login(); + } + } + + login(): void { + const alert = this.alertCtrl.create({ + title: 'Confirm', + message: `Would you like to proceed with the phone number ${this.phone}?`, + buttons: [ + { + text: 'Cancel', + role: 'cancel' + }, + { + text: 'Yes', + handler: () => { + this.handleLogin(alert); + return false; + } + } + ] + }); + + alert.present(); + } + + private handleLogin(alert): void { + Accounts.requestPhoneVerification(this.phone, (e: Error) => { + alert.dismiss().then(() => { + if (e) return this.handleError(e); + + // this.navCtrl.push(VerificationComponent, { + // phone: this.phone + // }); + }); + }); + } + + private handleError(e: Error): void { + console.error(e); + + const alert = this.alertCtrl.create({ + title: 'Oops!', + message: e.message, + buttons: ['OK'] + }); + + alert.present(); + } +}