1 <div *
ngIf=
"isCommentDisplayed()" class=
"root-comment">
3 <my-account-avatar *
ngIf=
"!comment.isDeleted" [href]=
"comment.account.url" [account]=
"comment.account"></my-account-avatar>
4 <div class=
"vertical-border"></div>
7 <div class=
"right" [ngClass]=
"{ 'mb-3': firstInThread }">
8 <span *
ngIf=
"comment.isDeleted" class=
"comment-avatar"></span>
11 <ng-container *
ngIf=
"!comment.isDeleted">
12 <div *
ngIf=
"highlightedComment === true" class=
"highlighted-comment" i18n
>Highlighted comment
</div>
14 <div class=
"comment-account-date">
15 <div class=
"comment-account">
16 <a [routerLink]=
"[ '/accounts', comment.by ]">
17 <span class=
"comment-account-name" [ngClass]=
"{ 'video-author': video.account.id === comment.account.id }">
18 {{ comment.account.displayName }}
21 <span class=
"comment-account-fid ml-1">{{ comment.by }}
</span>
25 <a [routerLink]=
"['/videos/watch', video.uuid, { 'threadId': comment.threadId }]" class=
"comment-date" [title]=
"comment.createdAt">
26 {{ comment.createdAt | myFromNow }}
32 [innerHTML]=
"sanitizedCommentHTML"
33 (timestampClicked)=
"handleTimestampClicked($event)"
34 timestampRouteTransformer
37 <div class=
"comment-actions">
38 <div *
ngIf=
"isUserLoggedIn()" tabindex=
0 (click)=
"onWantToReply()" class=
"comment-action-reply" i18n
>Reply
</div>
40 <my-user-moderation-dropdown
41 [prependActions]=
"prependModerationActions" tabindex=
0
42 buttonSize=
"small" [account]=
"commentAccount" [user]=
"commentUser" i18n-label
label=
"Options" placement=
"bottom-left auto"
43 ></my-user-moderation-dropdown>
47 <ng-container *
ngIf=
"comment.isDeleted">
48 <div class=
"comment-account-date">
49 <span class=
"comment-account" i18n
>Deleted
</span>
50 <a [routerLink]=
"['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
51 class=
"comment-date">{{ comment.createdAt | myFromNow }}
</a>
54 <div class=
"comment-html comment-html-deleted">
55 <i i18n
>This comment has been deleted
</i>
60 *
ngIf=
"!comment.isDeleted && isUserLoggedIn() && inReplyToCommentId === comment.id"
63 [parentComment]=
"comment"
64 [parentComments]=
"newParentComments"
66 (commentCreated)=
"onCommentReplyCreated($event)"
67 (cancel)=
"onResetReply()"
68 [textValue]=
"redraftValue"
69 ></my-video-comment-add>
71 <div *
ngIf=
"commentTree" class=
"children">
72 <div *
ngFor=
"let commentChild of commentTree.children">
74 [comment]=
"commentChild.comment"
76 [inReplyToCommentId]=
"inReplyToCommentId"
77 [commentTree]=
"commentChild"
78 [parentComments]=
"newParentComments"
79 (wantedToReply)=
"onWantToReply($event)"
80 (wantedToDelete)=
"onWantToDelete($event)"
81 (wantedToRedraft)=
"onWantToRedraft($event)"
82 (resetReply)=
"onResetReply()"
83 (timestampClicked)=
"handleTimestampClicked($event)"
84 [redraftValue]=
"redraftValue"
89 <ng-content></ng-content>
94 <ng-container *
ngIf=
"prependModerationActions">
95 <my-comment-report #commentReportModal [comment]=
"comment"></my-comment-report>