res => {
this.threadComments[commentId] = res
this.threadLoading[commentId] = false
+ this.hooks.runAction('action:video-watch.video-thread-replies.loaded', 'video-watch', { data: res })
if (highlightThread) {
this.highlightedThread = new VideoComment(res.comment)
this.componentPagination.totalItems = res.total
this.onDataSubject.next(res.data)
+ this.hooks.runAction('action:video-watch.video-threads.loaded', 'video-watch', { data: this.componentPagination })
},
err => this.notifier.error(err.message)
async onWantedToDelete (commentToDelete: VideoComment) {
let message = 'Do you really want to delete this comment?'
- if (commentToDelete.isLocal) {
- message += this.i18n(' The deletion will be sent to remote instances, so they remove the comment too.')
+ if (commentToDelete.isLocal || this.video.isLocal) {
+ message += this.i18n(' The deletion will be sent to remote instances so they can reflect the change.')
} else {
message += this.i18n(' It is a remote comment, so the deletion will only be effective on your instance.')
}
this.videoCommentService.deleteVideoComment(commentToDelete.videoId, commentToDelete.id)
.subscribe(
() => {
+ if (this.highlightedThread?.id === commentToDelete.id) {
+ commentToDelete = this.comments.find(c => c.id === commentToDelete.id)
+
+ this.highlightedThread = undefined
+ }
+
// Mark the comment as deleted
this.softDeleteComment(commentToDelete)
-
- if (this.highlightedThread.id === commentToDelete.id) this.highlightedThread = undefined
},
err => this.notifier.error(err.message)
}
onNearOfBottom () {
- this.componentPagination.currentPage++
-
if (hasMoreItems(this.componentPagination)) {
+ this.componentPagination.currentPage++
this.loadMoreThreads()
}
}
this.componentPagination.totalItems = null
this.syndicationItems = this.videoCommentService.getVideoCommentsFeeds(this.video.uuid)
-
this.loadMoreThreads()
}
}