1 <div class=
"root-comment">
3 <a *
ngIf=
"!comment.isDeleted" [href]=
"comment.account.url" target=
"_blank" rel=
"noopener noreferrer">
6 [src]=
"comment.accountAvatarUrl"
7 (error)=
"switchToDefaultAvatar($event)"
12 <div class=
"vertical-border"></div>
15 <div class=
"right" [ngClass]=
"{ 'mb-3': firstInThread }">
16 <span *
ngIf=
"comment.isDeleted" class=
"comment-avatar"></span>
19 <ng-container *
ngIf=
"!comment.isDeleted">
20 <div *
ngIf=
"highlightedComment === true" class=
"highlighted-comment" i18n
>Highlighted comment
</div>
22 <div class=
"comment-account-date">
23 <div class=
"comment-account">
25 [routerLink]=
"[ '/accounts', comment.by ]"
26 class=
"comment-account-name" [ngClass]=
"{ 'video-author': video.account.id === comment.account.id }"
28 {{ comment.account.displayName }}
31 <a [href]=
"comment.account.url" target=
"_blank" rel=
"noopener noreferrer" class=
"comment-account-fid ml-1">{{ comment.by }}
</a>
33 <a [routerLink]=
"['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
34 class=
"comment-date" [title]=
"comment.createdAt">{{ comment.createdAt | myFromNow }}
</a>
38 [innerHTML]=
"sanitizedCommentHTML"
39 (timestampClicked)=
"handleTimestampClicked($event)"
40 timestampRouteTransformer
43 <div class=
"comment-actions">
44 <div *
ngIf=
"isUserLoggedIn()" (click)=
"onWantToReply()" class=
"comment-action-reply" i18n
>Reply
</div>
45 <div *
ngIf=
"isRemovableByUser()" (click)=
"onWantToDelete()" class=
"comment-action-delete" i18n
>Delete
</div>
47 <my-user-moderation-dropdown
48 buttonSize=
"small" [account]=
"commentAccount" [user]=
"commentUser" i18n-label
label=
"Options" placement=
"bottom-left auto"
49 ></my-user-moderation-dropdown>
53 <ng-container *
ngIf=
"comment.isDeleted">
54 <div class=
"comment-account-date">
55 <span class=
"comment-account" i18n
>Deleted
</span>
56 <a [routerLink]=
"['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
57 class=
"comment-date">{{ comment.createdAt | myFromNow }}
</a>
60 <div *
ngIf=
"comment.isDeleted" class=
"comment-html comment-html-deleted">
61 <i i18n
>This comment has been deleted
</i>
66 *
ngIf=
"!comment.isDeleted && isUserLoggedIn() && inReplyToCommentId === comment.id"
69 [parentComment]=
"comment"
70 [parentComments]=
"newParentComments"
72 (commentCreated)=
"onCommentReplyCreated($event)"
73 (cancel)=
"onResetReply()"
74 ></my-video-comment-add>
76 <div *
ngIf=
"commentTree" class=
"children">
77 <div *
ngFor=
"let commentChild of commentTree.children">
79 [comment]=
"commentChild.comment"
81 [inReplyToCommentId]=
"inReplyToCommentId"
82 [commentTree]=
"commentChild"
83 [parentComments]=
"newParentComments"
84 (wantedToReply)=
"onWantToReply($event)"
85 (wantedToDelete)=
"onWantToDelete($event)"
86 (resetReply)=
"onResetReply()"
87 (timestampClicked)=
"handleTimestampClicked($event)"
92 <ng-content></ng-content>