]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/videos/video-list/video-overview.component.ts
Videos overview page: first version
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / video-list / video-overview.component.ts
1 import { Component, OnInit } from '@angular/core'
2 import { AuthService } from '@app/core'
3 import { NotificationsService } from 'angular2-notifications'
4 import { I18n } from '@ngx-translate/i18n-polyfill'
5 import { VideosOverview } from '@app/shared/overview/videos-overview.model'
6 import { OverviewService } from '@app/shared/overview'
7 import { Video } from '@app/shared/video/video.model'
8
9 @Component({
10 selector: 'my-video-overview',
11 templateUrl: './video-overview.component.html',
12 styleUrls: [ './video-overview.component.scss' ]
13 })
14 export class VideoOverviewComponent implements OnInit {
15 overview: VideosOverview = {
16 categories: [],
17 channels: [],
18 tags: []
19 }
20 notResults = false
21
22 constructor (
23 private i18n: I18n,
24 private notificationsService: NotificationsService,
25 private authService: AuthService,
26 private overviewService: OverviewService
27 ) { }
28
29 get user () {
30 return this.authService.getUser()
31 }
32
33 ngOnInit () {
34 this.overviewService.getVideosOverview()
35 .subscribe(
36 overview => {
37 this.overview = overview
38
39 if (
40 this.overview.categories.length === 0 &&
41 this.overview.channels.length === 0 &&
42 this.overview.tags.length === 0
43 ) this.notResults = true
44 },
45
46 err => {
47 console.log(err)
48 this.notificationsService.error('Error', err.text)
49 }
50 )
51 }
52
53 buildVideoChannelBy (object: { videos: Video[] }) {
54 return object.videos[0].byVideoChannel
55 }
56 }