diff options
Diffstat (limited to 'Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts b/Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts index 1d9536c8..6fe5b6d9 100644 --- a/Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts +++ b/Timeline/ClientApp/src/app/user-dialog/user-dialog.component.ts @@ -1,4 +1,6 @@ import { Component, OnInit } from '@angular/core'; +import { UserService, UserInfo } from './user.service'; +import { LoginEvent } from '../user-login/user-login.component'; @Component({ selector: 'app-user-dialog', @@ -7,14 +9,36 @@ import { Component, OnInit } from '@angular/core'; }) export class UserDialogComponent implements OnInit { - constructor() { } + constructor(private userService: UserService) { } - state: 'login' | 'success' = 'login'; + state: 'loading' | 'login' | 'success' = 'loading'; + + loginMessage: string; + + userInfo: UserInfo; ngOnInit() { + this.userService.validateUserLoginState().subscribe(result => { + if (result.state === 'success') { + this.userInfo = result.userInfo; + this.state = 'success'; + } else { + if (result.state === 'invalid') { + this.loginMessage = 'Your login is no longer valid'; + } else { + this.loginMessage = 'You haven\'t logged in.'; + } + this.state = 'login'; + } + }); } - login() { - + login(event: LoginEvent) { + this.userService.tryLogin(event.username, event.password).subscribe(result => { + this.userInfo = result; + this.state = 'success'; + }, (error: Error) => { + this.loginMessage = error.message; + }); } } |