4e33fae52b08c9ccff2618edfcdc9c0fe001527b
[oweals/peertube.git] / client / src / app / app.component.ts
1 import { Component, OnInit, ViewContainerRef } from '@angular/core';
2 import { Router } from '@angular/router';
3
4 import { AuthService } from './core';
5 import { VideoService } from './videos';
6 import { UserService } from './shared';
7
8 @Component({
9   selector: 'my-app',
10   templateUrl: './app.component.html',
11   styleUrls: [ './app.component.scss' ]
12 })
13 export class AppComponent implements OnInit {
14   notificationOptions = {
15     timeOut: 3000,
16     lastOnBottom: true,
17     clickToClose: true,
18     maxLength: 0,
19     maxStack: 7,
20     showProgressBar: false,
21     pauseOnHover: false,
22     preventDuplicates: false,
23     preventLastDuplicates: 'visible',
24     rtl: false
25   };
26
27   constructor(
28     private router: Router,
29     private authService: AuthService,
30     private userService: UserService,
31     private videoService: VideoService,
32     viewContainerRef: ViewContainerRef
33   ) {}
34
35   ngOnInit() {
36     if (this.authService.isLoggedIn()) {
37       // The service will automatically redirect to the login page if the token is not valid anymore
38       this.userService.checkTokenValidity();
39     }
40
41     this.videoService.loadVideoCategories();
42     this.videoService.loadVideoLicences();
43   }
44
45   isInAdmin() {
46     return this.router.url.indexOf('/admin/') !== -1;
47   }
48 }