]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+my-account/my-account.component.ts
Merge branch 'release/v1.0.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-account / my-account.component.ts
index 6e29cdd832c60c044a0834cb1365c19ed8c86cda..bad60a8fb750e6b9bd4598accb4ae6d9faad1b11 100644 (file)
@@ -1,17 +1,58 @@
-import { Component } from '@angular/core'
+import { Component, OnDestroy, OnInit } from '@angular/core'
 import { ServerService } from '@app/core'
+import { NavigationStart, Router } from '@angular/router'
+import { filter } from 'rxjs/operators'
+import { I18n } from '@ngx-translate/i18n-polyfill'
+import { Subscription } from 'rxjs'
 
 @Component({
   selector: 'my-my-account',
-  templateUrl: './my-account.component.html'
+  templateUrl: './my-account.component.html',
+  styleUrls: [ './my-account.component.scss' ]
 })
-export class MyAccountComponent {
+export class MyAccountComponent implements OnInit, OnDestroy {
+
+  libraryLabel = ''
+
+  private routeSub: Subscription
 
   constructor (
-    private serverService: ServerService
+    private serverService: ServerService,
+    private router: Router,
+    private i18n: I18n
   ) {}
 
+  ngOnInit () {
+    this.updateLibraryLabel(this.router.url)
+
+    this.routeSub = this.router.events
+        .pipe(filter(event => event instanceof NavigationStart))
+        .subscribe((event: NavigationStart) => this.updateLibraryLabel(event.url))
+  }
+
+  ngOnDestroy () {
+    if (this.routeSub) this.routeSub.unsubscribe()
+  }
+
   isVideoImportEnabled () {
-    return this.serverService.getConfig().import.videos.http.enabled
+    const importConfig = this.serverService.getConfig().import.videos
+
+    return importConfig.http.enabled || importConfig.torrent.enabled
+  }
+
+  private updateLibraryLabel (url: string) {
+    const [ path ] = url.split('?')
+
+    if (path.startsWith('/my-account/video-channels')) {
+      this.libraryLabel = this.i18n('Channels')
+    } else if (path.startsWith('/my-account/videos')) {
+      this.libraryLabel = this.i18n('Videos')
+    } else if (path.startsWith('/my-account/subscriptions')) {
+      this.libraryLabel = this.i18n('Subscriptions')
+    } else if (path.startsWith('/my-account/video-imports')) {
+      this.libraryLabel = this.i18n('Video imports')
+    } else {
+      this.libraryLabel = ''
+    }
   }
 }