This repository has been archived on 2023-11-19. You can view files and clone it, but cannot push or open issues or pull requests.
goober-ionic/src/app/app.component.ts

62 lines
1.9 KiB
TypeScript
Raw Normal View History

2017-06-06 03:32:48 +00:00
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
2017-06-06 23:42:08 +00:00
import { Storage } from '@ionic/storage';
2017-06-06 03:32:48 +00:00
2017-06-10 13:55:32 +00:00
// import { HomePage } from '../pages/home/home';
2017-06-06 03:32:48 +00:00
import { ListPage } from '../pages/list/list';
2017-06-06 23:42:08 +00:00
import { LoginPage } from '../pages/login/login';
2017-06-10 13:55:32 +00:00
import { StreamPage } from '../pages/stream/stream';
2017-06-06 23:42:08 +00:00
import * as pnut from 'pnut-butter';
2017-06-06 03:32:48 +00:00
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
2017-06-06 23:42:08 +00:00
rootPage: any = LoginPage;
2017-06-06 03:32:48 +00:00
2017-06-10 15:24:38 +00:00
pages: Array<{title: string, component: any, params: Object}>;
2017-06-06 03:32:48 +00:00
2017-06-06 23:42:08 +00:00
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, private storage: Storage) {
2017-06-06 03:32:48 +00:00
this.initializeApp();
// used for an example of ngFor and navigation
this.pages = [
2017-06-10 15:24:38 +00:00
{ title: 'Global Stream', component: StreamPage, params: {stream: 'global'} },
{ title: 'Personal Stream', component: StreamPage, params: {stream: 'personal'} },
{ title: 'List', component: ListPage , params: {}},
2017-06-06 03:32:48 +00:00
];
}
initializeApp() {
2017-06-06 23:42:08 +00:00
console.log('--- initializeApp ---');
this.storage.get('token').then((val) => {
if (val.length > 1) {
pnut.token = val;
2017-06-10 15:24:38 +00:00
this.nav.setRoot(StreamPage, {stream: 'global'});
2017-06-06 23:42:08 +00:00
}
}).catch(err => {
console.log('ERROR: ' + err);
});
2017-06-06 03:32:48 +00:00
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
openPage(page) {
// Reset the content nav to have just this page
// we wouldn't want the back button to show in this scenario
2017-06-10 15:24:38 +00:00
this.nav.setRoot(page.component, page.params);
2017-06-06 03:32:48 +00:00
}
2017-06-06 23:42:08 +00:00
2017-06-06 03:32:48 +00:00
}