44 lines
966 B
TypeScript
Executable File
44 lines
966 B
TypeScript
Executable File
import { Component } from '@angular/core';
|
|
import { User } from '../core/entities';
|
|
import { AuthService } from '../core/services/auth.service';
|
|
import { LoginService } from './login.service';
|
|
import { Router } from '@angular/router';
|
|
|
|
@Component({
|
|
selector: 'app-login',
|
|
templateUrl: './login.component.html',
|
|
styles: [`
|
|
.card-body {
|
|
padding-bottom: 10px;
|
|
}
|
|
|
|
.submitFormArea {
|
|
line-height: 50px;
|
|
}
|
|
`]
|
|
})
|
|
export class LoginComponent {
|
|
model: User = new User('', '', '', '', '', null, null, '');
|
|
loginFailed: boolean;
|
|
|
|
constructor(
|
|
private loginService: LoginService,
|
|
private authService: AuthService,
|
|
private router: Router
|
|
) {
|
|
this.loginFailed = false;
|
|
}
|
|
|
|
onSubmit(): void {
|
|
this.loginFailed = false;
|
|
|
|
this.loginService.login(this.model).subscribe(user => {
|
|
this.authService.setToken(user.token);
|
|
this.authService.setUser(user);
|
|
this.router.navigate(['/myPosts']);
|
|
}, error => {
|
|
this.loginFailed = true;
|
|
});
|
|
}
|
|
}
|