]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+my-library/my-library.component.ts
Translated using Weblate (Vietnamese)
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-library / my-library.component.ts
CommitLineData
17119e4a
C
1import { Component, OnInit } from '@angular/core'
2import { AuthService, AuthUser, ScreenService, ServerService } from '@app/core'
2989628b 3import { HTMLServerConfig } from '@shared/models'
17119e4a
C
4import { TopMenuDropdownParam } from '../shared/shared-main/misc/top-menu-dropdown.component'
5
6@Component({
7 templateUrl: './my-library.component.html',
8 styleUrls: [ './my-library.component.scss' ]
9})
10export class MyLibraryComponent implements OnInit {
11 menuEntries: TopMenuDropdownParam[] = []
12 user: AuthUser
13
2989628b 14 private serverConfig: HTMLServerConfig
17119e4a
C
15
16 constructor (
17 private serverService: ServerService,
18 private authService: AuthService,
19 private screenService: ScreenService
9df52d66 20 ) { }
17119e4a
C
21
22 get isBroadcastMessageDisplayed () {
23 return this.screenService.isBroadcastMessageDisplayed
24 }
25
26 ngOnInit (): void {
2989628b 27 this.serverConfig = this.serverService.getHTMLConfig()
17119e4a
C
28
29 this.user = this.authService.getUser()
30
31 this.authService.userInformationLoaded.subscribe(
32 () => this.buildMenu()
33 )
34 }
35
36 isVideoImportEnabled () {
37 const importConfig = this.serverConfig.import.videos
38
39 return importConfig.http.enabled || importConfig.torrent.enabled
40 }
41
42 private buildMenu () {
43 this.menuEntries = [
44 {
45 label: $localize`Channels`,
46 routerLink: '/my-library/video-channels'
47 }
48 ]
49
50 if (this.user.canSeeVideosLink) {
51 this.menuEntries.push({
52 label: $localize`Videos`,
53 routerLink: '/my-library/videos'
54 })
55 }
56
57 this.menuEntries = this.menuEntries.concat([
58 {
59 label: $localize`Playlists`,
60 routerLink: '/my-library/video-playlists'
61 },
62
63 {
4beda9e1
C
64 label: $localize`Follows`,
65 children: [
66 {
67 label: $localize`Subscriptions`,
68 iconName: 'subscriptions',
69 routerLink: '/my-library/subscriptions'
70 },
71 {
72 label: $localize`Followers`,
73 iconName: 'follower',
74 routerLink: '/my-library/followers'
75 }
76 ]
17119e4a
C
77 },
78
79 {
80 label: $localize`History`,
81 routerLink: '/my-library/history/videos'
82 }
83 ])
84 }
85}