I can´t share my code because it is in a private repository but I can share app.component.ts:
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';
import { HomePage } from '../pages/home/home';
import { InicioPage } from '../pages/inicio/inicio';
import { CambiarContraseñaPage } from '../pages/cambiar-contraseña/cambiar-contraseña';
import { AlertController } from 'ionic-angular';
import { UserServiceProvider } from '../providers/user-service/user-service';
import { ManejadorErroresComponent } from '../components/manejador-errores/manejador-errores';
import { timer } from 'rxjs/observable/timer';
import { BackgroundMode } from '@ionic-native/background-mode';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
showSplash = true;
rootPage: any = InicioPage;
inicioPage: any = InicioPage;
pages: Array<{ title: string, icon: string, component: any }>;
private manejadorErrores = new ManejadorErroresComponent(this.alerta);
constructor(platform: Platform,
statusBar: StatusBar,
splashScreen: SplashScreen,
private alerta: AlertController,
private userService: UserServiceProvider,
private backgroundMode : BackgroundMode) {
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.
statusBar.styleDefault();
splashScreen.hide();
this.backgroundMode.enable();
timer(3000).subscribe(() => this.showSplash = false);
});
this.pages = [
{ title: "Mis Partidos pendientes", icon: "home", component: HomePage },
{ title: "Cambiar contraseña", icon: "create", component: CambiarContraseñaPage },
{ title: "Cerrar Sesión", icon: "log-out", component: "" }
];
}
openPage(page) {
if (page.title == "Cerrar Sesión") {
this.alertaCerrarSesion();
}
else {
this.nav.setRoot(page.component);
}
}
cerrarSesion() {
this.userService.logout().then(
res => {
console.log(res),
this.nav.setRoot(this.inicioPage)
},
error => this.manejadorErrores.manejarError(error));
}
alertaCerrarSesion() {
let confirm = this.alerta.create({
title: '¡Atención!',
message: '¿Seguro que quieres cerrar sesión?',
buttons: [
{
text: 'No',
handler: () => {
}
},
{
text: 'Sí',
handler: () => {
this.cerrarSesion();
}
}
]
});
confirm.present();
}
}
And app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { IonicStorageModule } from '@ionic/storage';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { PlayerPage } from '../pages/player/player';
import { InicioPage } from '../pages/inicio/inicio';
import { MatchPage } from '../pages/match/match';
import { CambiarContraseñaPage } from '../pages/cambiar-contraseña/cambiar-contraseña';
import { TimerComponent } from '../components/timer/timer';
import { GoogleMaps } from '@ionic-native/google-maps';
import { HttpModule } from '@angular/http'
import { UserServiceProvider } from '../providers/user-service/user-service';
import { ManejadorErroresComponent } from '../components/manejador-errores/manejador-errores';
import { MapaPage } from '../pages/mapa/mapa';
import { BackgroundMode } from '@ionic-native/background-mode';
import { SplashScreen } from '@ionic-native/splash-screen';
@NgModule({
declarations: [
MyApp,
HomePage,
PlayerPage,
InicioPage,
MatchPage,
MapaPage,
CambiarContraseñaPage,
TimerComponent,
ManejadorErroresComponent
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
HttpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
PlayerPage,
InicioPage,
MatchPage,
MapaPage,
CambiarContraseñaPage,
TimerComponent,
ManejadorErroresComponent,
],
providers: [
SplashScreen,
StatusBar,
GoogleMaps,
{ provide: ErrorHandler, useClass: IonicErrorHandler },
UserServiceProvider,
ManejadorErroresComponent,
BackgroundMode
]
})
export class AppModule { }
Thank you.