mirror of https://github.com/Chocobozzz/PeerTube
101 lines
3.7 KiB
HTML
101 lines
3.7 KiB
HTML
<div *ngIf="isCommentDisplayed()" class="root-comment" [ngClass]="{ 'is-child': isChild() }">
|
|
<div class="left">
|
|
<my-actor-avatar
|
|
*ngIf="!comment.isDeleted" [href]="comment.account.url"
|
|
[actor]="comment.account" actorType="account" [size]="isChild() ? '25' : '36'"
|
|
></my-actor-avatar>
|
|
|
|
<div class="vertical-border"></div>
|
|
</div>
|
|
|
|
<div class="right" [ngClass]="{ 'mb-3': firstInThread }">
|
|
<div class="comment">
|
|
<ng-container *ngIf="!comment.isDeleted">
|
|
<div *ngIf="highlightedComment === true" class="highlighted-comment" i18n>Highlighted comment</div>
|
|
|
|
<div class="comment-account-date">
|
|
<div class="comment-account">
|
|
<a [routerLink]="[ '/a', comment.by ]">
|
|
<span class="comment-account-name" [ngClass]="{ 'video-author': video.account.id === comment.account.id }">
|
|
{{ comment.account.displayName }}
|
|
</span>
|
|
|
|
<span class="comment-account-fid ms-1">{{ comment.by }}</span>
|
|
</a>
|
|
</div>
|
|
|
|
<a [routerLink]="['/w', video.shortUUID, { 'threadId': comment.threadId }]" class="comment-date" [title]="comment.createdAt">
|
|
{{ comment.createdAt | myFromNow }}
|
|
</a>
|
|
</div>
|
|
|
|
<div
|
|
class="comment-html"
|
|
[innerHTML]="sanitizedCommentHTML"
|
|
(timestampClicked)="handleTimestampClicked($event)"
|
|
myTimestampRouteTransformer
|
|
></div>
|
|
|
|
<div class="comment-actions">
|
|
<button (click)="onWantToReply()" class="comment-action-reply border-0 p-0" i18n>Reply</button>
|
|
|
|
<my-user-moderation-dropdown
|
|
[prependActions]="prependModerationActions" [buttonStyled]="false"
|
|
buttonSize="small" [account]="commentAccount" [user]="commentUser" i18n-label label="Options" placement="bottom-left auto"
|
|
></my-user-moderation-dropdown>
|
|
</div>
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="comment.isDeleted">
|
|
<div class="comment-account-date">
|
|
<span class="comment-account" i18n>Deleted</span>
|
|
<a [routerLink]="['/w', video.shortUUID, { 'threadId': comment.threadId }]"
|
|
class="comment-date">{{ comment.createdAt | myFromNow }}</a>
|
|
</div>
|
|
|
|
<div class="comment-html comment-html-deleted">
|
|
<i i18n>This comment has been deleted</i>
|
|
</div>
|
|
</ng-container>
|
|
|
|
<my-video-comment-add
|
|
*ngIf="!comment.isDeleted && inReplyToCommentId === comment.id"
|
|
[user]="user"
|
|
[video]="video"
|
|
[videoPassword]="videoPassword"
|
|
[parentComment]="comment"
|
|
[parentComments]="newParentComments"
|
|
[focusOnInit]="true"
|
|
(commentCreated)="onCommentReplyCreated($event)"
|
|
(cancel)="onResetReply()"
|
|
[textValue]="redraftValue"
|
|
></my-video-comment-add>
|
|
|
|
<div *ngIf="commentTree">
|
|
<div *ngFor="let commentChild of commentTree.children">
|
|
<my-video-comment
|
|
[comment]="commentChild.comment"
|
|
[video]="video"
|
|
[videoPassword]="videoPassword"
|
|
[inReplyToCommentId]="inReplyToCommentId"
|
|
[commentTree]="commentChild"
|
|
[parentComments]="newParentComments"
|
|
(wantedToReply)="onWantToReply($event)"
|
|
(wantedToDelete)="onWantToDelete($event)"
|
|
(wantedToRedraft)="onWantToRedraft($event)"
|
|
(resetReply)="onResetReply()"
|
|
(timestampClicked)="handleTimestampClicked($event)"
|
|
[redraftValue]="redraftValue"
|
|
></my-video-comment>
|
|
</div>
|
|
</div>
|
|
|
|
<ng-content></ng-content>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<ng-container *ngIf="prependModerationActions">
|
|
<my-comment-report #commentReportModal [comment]="comment"></my-comment-report>
|
|
</ng-container>
|