]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+video-channels/video-channels.component.ts
Fix HTML in account/channel description
[github/Chocobozzz/PeerTube.git] / client / src / app / +video-channels / video-channels.component.ts
index ebb991f4ee3a4fd5f63e175b12efc5fc0f5681f5..afbf960325fa6a5a83556c3dd694b9f05c4af49d 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',
@@ -56,8 +56,17 @@ export class VideoChannelsComponent implements OnInit, OnDestroy {
                           ]))
                         )
                         .subscribe(async videoChannel => {
-                          this.channelDescriptionHTML = await this.markdown.textMarkdownToHTML(videoChannel.description)
-                          this.ownerDescriptionHTML = await this.markdown.textMarkdownToHTML(videoChannel.ownerAccount.description)
+                          this.channelDescriptionHTML = await this.markdown.textMarkdownToHTML({
+                            markdown: videoChannel.description,
+                            withEmoji: true,
+                            withHtml: true
+                          })
+
+                          this.ownerDescriptionHTML = await this.markdown.textMarkdownToHTML({
+                            markdown: videoChannel.ownerAccount.description,
+                            withEmoji: true,
+                            withHtml: true
+                          })
 
                           // After the markdown renderer to avoid layout changes
                           this.videoChannel = videoChannel
@@ -98,12 +107,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`)
   }