login.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { Component } from "@angular/core";
  2. import {
  3. IonicPage,
  4. NavController,
  5. NavParams,
  6. MenuController,
  7. AlertController,
  8. ModalController,
  9. Events
  10. } from "ionic-angular";
  11. import { AuthProvider } from "../../providers/auth/auth";
  12. import { AboutPage } from "../about/about";
  13. import { HomePage } from "../home/home";
  14. @IonicPage()
  15. @Component({
  16. selector: "page-login",
  17. templateUrl: "login.html"
  18. })
  19. export class LoginPage {
  20. constructor(
  21. public navCtrl: NavController,
  22. public navParams: NavParams,
  23. private menuCtrl: MenuController,
  24. private alertCtrl: AlertController,
  25. private authProvider: AuthProvider,
  26. private modalCtrl: ModalController,
  27. private events: Events
  28. ) {}
  29. ionViewDidLoad() {
  30. this.menuCtrl.enable(false, "sideNav");
  31. }
  32. login() {
  33. const alertText = {
  34. title: "Login failed",
  35. subTitle:
  36. "Somthing went wrong while trying to log you in. Please try again.",
  37. buttons: ["OK"]
  38. };
  39. this.authProvider
  40. .login()
  41. .then(() => this.events.publish("user:login"))
  42. .then(() => this.navCtrl.setRoot(HomePage))
  43. .catch(err => this.alertCtrl.create(alertText).present());
  44. }
  45. showAbout() {
  46. this.modalCtrl.create(AboutPage).present();
  47. }
  48. }