<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>

          <span *ngIf="comment().heldForReview" class="pt-badge badge-red ms-2" i18n>Pending review</span>
        </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)"
        (cancelEdit)="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)"
            (wantedToApprove)="onWantToApprove($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>
