]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/angular/users/components/login/login.component.ts
Add a loader animation when loading the videos list
[github/Chocobozzz/PeerTube.git] / client / angular / users / components / login / login.component.ts
1 import { Component } from '@angular/core';
2 import { Router } from '@angular/router-deprecated';
3
4 import { AuthService } from '../../services/auth.service';
5 import { AuthStatus } from '../../models/authStatus';
6 import { User } from '../../models/user';
7
8 @Component({
9 selector: 'my-user-login',
10 styleUrls: [ 'app/angular/users/components/login/login.component.css' ],
11 templateUrl: 'app/angular/users/components/login/login.component.html'
12 })
13
14 export class UserLoginComponent {
15 constructor(private _authService: AuthService, private _router: Router) {}
16
17 login(username: string, password: string) {
18 this._authService.login(username, password).subscribe(
19 result => {
20 const user = new User(username, result);
21 user.save();
22
23 this._authService.setStatus(AuthStatus.LoggedIn);
24
25 this._router.navigate(['VideosList']);
26 },
27 error => {
28 if (error.error === 'invalid_grant') {
29 alert('Credentials are invalid.');
30 } else {
31 alert(`${error.error}: ${error.error_description}`);
32 }
33 }
34 );
35 }
36 }