From 7e73f07131a6738b299311448ab4491eb532838a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 20 Mar 2019 10:12:31 +0100 Subject: [PATCH] Improve comment deletion message --- .../app/videos/+video-watch/comment/video-comment.model.ts | 7 +++++++ .../+video-watch/comment/video-comments.component.ts | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/client/src/app/videos/+video-watch/comment/video-comment.model.ts b/client/src/app/videos/+video-watch/comment/video-comment.model.ts index 824fb24c3..3ed3ddcc7 100644 --- a/client/src/app/videos/+video-watch/comment/video-comment.model.ts +++ b/client/src/app/videos/+video-watch/comment/video-comment.model.ts @@ -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 } } diff --git a/client/src/app/videos/+video-watch/comment/video-comments.component.ts b/client/src/app/videos/+video-watch/comment/video-comments.component.ts index 2616820d2..3acddbe6a 100644 --- a/client/src/app/videos/+video-watch/comment/video-comments.component.ts +++ b/client/src/app/videos/+video-watch/comment/video-comments.component.ts @@ -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 -- 2.41.0