]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Improve comment deletion message
authorChocobozzz <me@florianbigard.com>
Wed, 20 Mar 2019 09:12:31 +0000 (10:12 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 20 Mar 2019 09:12:31 +0000 (10:12 +0100)
client/src/app/videos/+video-watch/comment/video-comment.model.ts
client/src/app/videos/+video-watch/comment/video-comments.component.ts

index 824fb24c30e7890be31f47dc3b1ec89689de36b4..3ed3ddcc78b72e934200273e0ac6dfcdf4aacf02 100644 (file)
@@ -1,6 +1,7 @@
 import { Account as AccountInterface } from '../../../../../../shared/models/actors'
 import { VideoComment as VideoCommentServerModel } from '../../../../../../shared/models/videos/video-comment.model'
 import { Actor } from '@app/shared/actor/actor.model'
+import { getAbsoluteAPIUrl } from '@app/shared/misc/utils'
 
 export class VideoComment implements VideoCommentServerModel {
   id: number
@@ -16,6 +17,8 @@ export class VideoComment implements VideoCommentServerModel {
   by: string
   accountAvatarUrl: string
 
+  isLocal: boolean
+
   constructor (hash: VideoCommentServerModel) {
     this.id = hash.id
     this.url = hash.url
@@ -30,5 +33,9 @@ export class VideoComment implements VideoCommentServerModel {
 
     this.by = Actor.CREATE_BY_STRING(this.account.name, this.account.host)
     this.accountAvatarUrl = Actor.GET_ACTOR_AVATAR_URL(this.account)
+
+    const absoluteAPIUrl = getAbsoluteAPIUrl()
+    const thisHost = new URL(absoluteAPIUrl).host
+    this.isLocal = this.account.host.trim() === thisHost
   }
 }
index 2616820d2462df10f02c5379ae1f6b95e067d619..3acddbe6ac25338276408ec8d05ecf7cb55afcd2 100644 (file)
@@ -121,10 +121,17 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy {
 
   async onWantedToDelete (commentToDelete: VideoComment) {
     let message = 'Do you really want to delete this comment?'
+
     if (commentToDelete.totalReplies !== 0) {
       message += this.i18n(' {{totalReplies}} replies will be deleted too.', { totalReplies: commentToDelete.totalReplies })
     }
 
+    if (commentToDelete.isLocal) {
+      message += this.i18n(' The deletion will be sent to remote instances so they remove the comment too.')
+    } else {
+      message += this.i18n(' It is a remote comment, so the deletion will only be effective on your instance.')
+    }
+
     const res = await this.confirmService.confirm(message, this.i18n('Delete'))
     if (res === false) return