aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/videos/+video-watch/comment/video-comment.component.html
blob: 617d0fa4128f3d968843789f7e1bc278ad86e586 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                          
                    



                                                                                                         
                                               


                    
 

                                       
 
                                                           
                                                                  
 


                                                                                                           
 
                                          



                                                                                                                                                               
                                                                                           
                                                                                                     
              





                                                             
 


                                                                                                                     
 
                                      
                                                                                                                                      
                                         

                     
 










                                                                                           
 







                                                                                           
                                 
                              
 










                                                               
                                                               

                              
            
 

                               

        
<div class="root-comment">
  <div class="left">
    <a *ngIf="!comment.isDeleted" [href]="comment.account.url" target="_blank" rel="noopener noreferrer">
      <img
        class="comment-avatar"
        [src]="comment.accountAvatarUrl"
        (error)="switchToDefaultAvatar($event)"
        alt="Avatar"
      />
    </a>

    <div class="vertical-border"></div>
  </div>

  <div class="right" [ngClass]="{ 'mb-3': firstInThread }">
    <span *ngIf="comment.isDeleted" class="comment-avatar"></span>

    <div class="comment">
      <ng-container *ngIf="!comment.isDeleted">
        <div *ngIf="highlightedComment === true" class="highlighted-comment" i18n>Highlighted comment</div>

        <div class="comment-account-date">
          <a [href]="comment.account.url" target="_blank" rel="noopener noreferrer" class="comment-account">
            <span class="comment-account-name" [ngClass]="{ 'video-author': video.account.id === comment.account.id }">{{ comment.account.displayName }}</span>
            <span class="comment-account-fid ml-1">{{ comment.by }}</span>
          </a>
          <a [routerLink]="['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
             class="comment-date" [title]="comment.createdAt">{{ comment.createdAt | myFromNow }}</a>
        </div>
        <div
          class="comment-html"
          [innerHTML]="sanitizedCommentHTML"
          (timestampClicked)="handleTimestampClicked($event)"
          timestampRouteTransformer
        ></div>

        <div class="comment-actions">
          <div *ngIf="isUserLoggedIn()" (click)="onWantToReply()" class="comment-action-reply" i18n>Reply</div>
          <div *ngIf="isRemovableByUser()" (click)="onWantToDelete()" class="comment-action-delete" i18n>Delete</div>

          <my-user-moderation-dropdown
            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]="['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
             class="comment-date">{{ comment.createdAt | myFromNow }}</a>
        </div>

        <div *ngIf="comment.isDeleted" class="comment-html comment-html-deleted">
          <i i18n>This comment has been deleted</i>
        </div>
      </ng-container>

      <my-video-comment-add
        *ngIf="!comment.isDeleted && isUserLoggedIn() && inReplyToCommentId === comment.id"
        [user]="user"
        [video]="video"
        [parentComment]="comment"
        [parentComments]="newParentComments"
        [focusOnInit]="true"
        (commentCreated)="onCommentReplyCreated($event)"
        (cancel)="onResetReply()"
      ></my-video-comment-add>

      <div *ngIf="commentTree" class="children">
        <div *ngFor="let commentChild of commentTree.children">
          <my-video-comment
            [comment]="commentChild.comment"
            [video]="video"
            [inReplyToCommentId]="inReplyToCommentId"
            [commentTree]="commentChild"
            [parentComments]="newParentComments"
            (wantedToReply)="onWantToReply($event)"
            (wantedToDelete)="onWantToDelete($event)"
            (resetReply)="onResetReply()"
            (timestampClicked)="handleTimestampClicked($event)"
          ></my-video-comment>
        </div>
      </div>

      <ng-content></ng-content>
    </div>
  </div>
</div>