]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - client/src/app/+my-account/my-account.component.ts
My account menu -> open entries on hover
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-account / my-account.component.ts
... / ...
CommitLineData
1import { Component } from '@angular/core'
2import { ServerService } from '@app/core'
3import { I18n } from '@ngx-translate/i18n-polyfill'
4import { TopMenuDropdownParam } from '@app/shared/menu/top-menu-dropdown.component'
5
6@Component({
7 selector: 'my-my-account',
8 templateUrl: './my-account.component.html',
9 styleUrls: [ './my-account.component.scss' ]
10})
11export class MyAccountComponent {
12 menuEntries: TopMenuDropdownParam[] = []
13
14 constructor (
15 private serverService: ServerService,
16 private i18n: I18n
17 ) {
18
19 const libraryEntries: TopMenuDropdownParam = {
20 label: this.i18n('My library'),
21 children: [
22 {
23 label: this.i18n('My channels'),
24 routerLink: '/my-account/videos'
25 },
26 {
27 label: this.i18n('My videos'),
28 routerLink: '/my-account/videos'
29 },
30 {
31 label: this.i18n('My subscriptions'),
32 routerLink: '/my-account/subscriptions'
33 }
34 ]
35 }
36
37 if (this.isVideoImportEnabled()) {
38 libraryEntries.children.push({
39 label: 'My imports',
40 routerLink: '/my-account/video-imports'
41 })
42 }
43
44 const miscEntries: TopMenuDropdownParam = {
45 label: this.i18n('Misc'),
46 children: [
47 {
48 label: this.i18n('Muted accounts'),
49 routerLink: '/my-account/blocklist/accounts'
50 },
51 {
52 label: this.i18n('Muted instances'),
53 routerLink: '/my-account/blocklist/servers'
54 },
55 {
56 label: this.i18n('Ownership changes'),
57 routerLink: '/my-account/ownership'
58 }
59 ]
60 }
61
62 this.menuEntries = [
63 {
64 label: this.i18n('My settings'),
65 routerLink: '/my-account/settings'
66 },
67 libraryEntries,
68 miscEntries
69 ]
70 }
71
72 isVideoImportEnabled () {
73 const importConfig = this.serverService.getConfig().import.videos
74
75 return importConfig.http.enabled || importConfig.torrent.enabled
76 }
77
78}