]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+video-channels/video-channels.component.ts
Don't manage remote channels
[github/Chocobozzz/PeerTube.git] / client / src / app / +video-channels / video-channels.component.ts
index ebb991f4ee3a4fd5f63e175b12efc5fc0f5681f5..c5bcdffe2a9ec0b968f9b3871fb71772046074cc 100644 (file)
@@ -8,7 +8,7 @@ import { Account, ListOverflowItem, VideoChannel, VideoChannelService, VideoServ
 import { BlocklistService } from '@app/shared/shared-moderation'
 import { SupportModalComponent } from '@app/shared/shared-support-modal'
 import { SubscribeButtonComponent } from '@app/shared/shared-user-subscription'
-import { HttpStatusCode } from '@shared/models'
+import { HttpStatusCode, UserRight } from '@shared/models'
 
 @Component({
   templateUrl: './video-channels.component.html',
@@ -98,12 +98,19 @@ export class VideoChannelsComponent implements OnInit, OnDestroy {
     return this.authService.isLoggedIn()
   }
 
-  isManageable () {
+  isOwner () {
     if (!this.isUserLoggedIn()) return false
 
     return this.videoChannel?.ownerAccount.userId === this.authService.getUser().id
   }
 
+  isManageable () {
+    if (!this.videoChannel.isLocal) return false
+    if (!this.isUserLoggedIn()) return false
+
+    return this.isOwner() || this.authService.getUser().hasRight(UserRight.MANAGE_ANY_VIDEO_CHANNEL)
+  }
+
   activateCopiedMessage () {
     this.notifier.success($localize`Username copied`)
   }