chore(conference-app): updates

This commit is contained in:
Dan Bucholtz
2018-02-23 14:38:09 -06:00
parent 6dff369c29
commit 5197358a3b
12 changed files with 101 additions and 125 deletions

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>About</ion-title>
<ion-buttons slot="end">

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Account</ion-title>
</ion-toolbar>

View File

@ -15,118 +15,120 @@
Navigate
</ion-list-header>
<ion-item (click)="selectTab(0)">
<ion-icon slot="start" name="calendar"></ion-icon>
<ion-label>
Schedule
</ion-label>
</ion-item>
<ion-menu-toggle>
<ion-item (click)="selectTab(0, '/app/tabs/(schedule:schedule)')">
<ion-icon slot="start" name="calendar"></ion-icon>
<ion-label>
Schedule
</ion-label>
</ion-item>
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="selectTab(1)">
<ion-menu-toggle>
<ion-item (click)="selectTab(1, '/app/tabs/(speakers:speakers)')">
<ion-icon slot="start" name="contacts"></ion-icon>
<ion-label>
Speakers
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="selectTab(2)">
<ion-menu-toggle>
<ion-item (click)="selectTab(2, '/app/tabs/(map:map)')">
<ion-icon slot="start" name="map"></ion-icon>
<ion-label>
Map
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="selectTab(3)">
<ion-menu-toggle>
<ion-item (click)="selectTab(3, '/app/tabs/(about:about)')">
<ion-icon slot="start" name="information-circle"></ion-icon>
<ion-label>
About
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
</ion-menu-toggle>
</ion-list>
<ion-list>
<ion-list *ngIf="loggedIn">
<ion-list-header>
Account
</ion-list-header>
<!-- <ion-menu-toggle> -->
<ion-item (click)="navigate('/account')">
<ion-icon slot="start" name="person"></ion-icon>
<ion-label>
Account
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="navigate('/account')">
<ion-icon slot="start" name="person"></ion-icon>
<ion-label>
Account
</ion-label>
</ion-item>
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="navigate('/support')">
<ion-icon slot="start" name="help"></ion-icon>
<ion-label>
Support
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="navigate('/support')">
<ion-icon slot="start" name="help"></ion-icon>
<ion-label>
Support
</ion-label>
</ion-item>
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="logout()">
<ion-icon slot="start" name="log-out"></ion-icon>
<ion-label>
Logout
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="logout()">
<ion-icon slot="start" name="log-out"></ion-icon>
<ion-label>
Logout
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
<ion-list>
<ion-list *ngIf="!loggedIn">
<ion-list-header>
Account
</ion-list-header>
<!-- <ion-menu-toggle> -->
<ion-item (click)="navigate('/login')">
<ion-icon slot="start" name="log-in"></ion-icon>
<ion-label>
Login
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="navigate('/login')">
<ion-icon slot="start" name="log-in"></ion-icon>
<ion-label>
Login
</ion-label>
</ion-item>
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="navigate('/support')">
<ion-icon slot="start" name="help"></ion-icon>
<ion-label>
Support
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="navigate('/support')">
<ion-icon slot="start" name="help"></ion-icon>
<ion-label>
Support
</ion-label>
</ion-item>
</ion-menu-toggle>
<!-- <ion-menu-toggle> -->
<ion-item (click)="navigate('/sign-up')">
<ion-icon slot="start" name="person-add"></ion-icon>
<ion-label>
Sign-up
</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="navigate('/sign-up')">
<ion-icon slot="start" name="person-add"></ion-icon>
<ion-label>
Sign-up
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
<ion-list>
<ion-list-header>
Tutorial
</ion-list-header>
<!-- <ion-menu-toggle> -->
<ion-menu-toggle>
<ion-item (click)="openTutorial()">
<ion-icon slot="start" name="hammer"></ion-icon>
<ion-label>Show Tutorial</ion-label>
</ion-item>
<!-- </ion-menu-toggle> -->
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-page>

View File

@ -25,6 +25,7 @@ export class AppComponent implements OnInit {
loggedIn = false;
constructor(
private events: Events,
private menu: MenuController,
private router: Router,
private userData: UserData) {
}
@ -35,44 +36,54 @@ export class AppComponent implements OnInit {
}
checkLoginStatus() {
// vanilla promise resolve does not work
return this.userData.isLoggedIn().then((loggedIn) => {
this.loggedIn = true;
// this.loggedIn = loggedIn;
// console.log('this.loggedIn: ', this.loggedIn);
return this.updateLoggedInStatus(loggedIn);
});
}
updateLoggedInStatus(loggedIn: boolean) {
setTimeout(() => {
this.loggedIn = loggedIn;
}, 300);
}
listenForLoginEvents() {
this.events.subscribe('user:login', () => {
this.loggedIn = true;
this.updateLoggedInStatus(true);
});
this.events.subscribe('user:signup', () => {
this.loggedIn = true;
this.updateLoggedInStatus(true);
});
this.events.subscribe('user:logout', () => {
this.loggedIn = false;
this.updateLoggedInStatus(false);
});
}
selectTab(index: number) {
selectTab(index: number, fallbackUrl: string) {
const tabs = document.querySelector('ion-tabs');
let promise: Promise<any> = null;
if (tabs) {
return tabs.componentOnReady().then(() => {
promise = tabs.componentOnReady();
promise.then(() => {
return tabs.select(index);
});
} else {
promise = this.navigate(fallbackUrl);
}
return promise.then(() => {
return this.menu.toggle();
});
}
navigate(url: string) {
this.router.navigateByUrl(url);
return this.router.navigateByUrl(url);
}
logout() {
this.userData.logout().then(() => {
this.navigate('/app/tabs/(schedule:schedule)');
return this.navigate('/app/tabs/(schedule:schedule)');
});
}

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Login</ion-title>

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Map</ion-title>
</ion-toolbar>

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-segment [(ngModel)]="segment" (ionChange)="updateSchedule()" color="light">

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
<ion-back-button text="Schedule"></ion-back-button>
</ion-buttons>
<ion-title>{{session?.name}}</ion-title>

View File

@ -2,13 +2,7 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Signup</ion-title>
</ion-toolbar>

View File

@ -2,6 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button></ion-menu-button>
<ion-back-button text="Speakers"></ion-back-button>
</ion-buttons>
<ion-title>{{speaker?.name}}</ion-title>

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Speakers</ion-title>
</ion-toolbar>

View File

@ -2,11 +2,7 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-toggle>
<ion-button>
<ion-icon slot="icon-only" name="menu"></ion-icon>
</ion-button>
</ion-menu-toggle>
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>Support</ion-title>
</ion-toolbar>