45 lines
1.1 KiB
TypeScript
Executable File
45 lines
1.1 KiB
TypeScript
Executable File
// #docregion
|
|
import { Component } from '@angular/core';
|
|
import { Router } from '@angular/router';
|
|
import { AuthService } from './auth.service';
|
|
|
|
@Component({
|
|
selector: 'login',
|
|
template: `
|
|
<h2>LOGIN</h2>
|
|
<p>{{message}}</p>
|
|
<p>
|
|
<button (click)="login()" *ngIf="!authService.isLoggedIn">Login</button>
|
|
<button (click)="logout()" *ngIf="authService.isLoggedIn">Logout</button>
|
|
</p>`
|
|
})
|
|
export class LoginComponent {
|
|
message: string;
|
|
|
|
constructor(public authService: AuthService, public router: Router) {
|
|
this.setMessage();
|
|
}
|
|
|
|
setMessage() {
|
|
this.message = 'Logged ' + (this.authService.isLoggedIn ? 'in' : 'out');
|
|
}
|
|
|
|
login() {
|
|
this.message = "Trying to log in ...";
|
|
|
|
this.authService.login().subscribe(() => {
|
|
this.setMessage();
|
|
if (this.authService.isLoggedIn) {
|
|
// Todo: capture where the user was going and nav there.
|
|
// Meanwhile redirect the user to the crisis admin
|
|
this.router.navigate(['/crisis-center/admin']);
|
|
}
|
|
});
|
|
}
|
|
|
|
logout() {
|
|
this.authService.logout();
|
|
this.setMessage();
|
|
}
|
|
}
|