]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/videos/+video-watch/comment/video-comment.component.html
improve comment form: cancel button and full width
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-watch / comment / video-comment.component.html
index e9c23929caeac0da37a622bfce15c63dbc82c6ad..80e8cae1d4f26fe0f8da433527141ecf29f89864 100644 (file)
@@ -1,36 +1,71 @@
 <div class="root-comment">
-  <img [src]="getAvatarUrl(comment.account)" alt="Avatar" />
+  <div class="left">
+    <img
+      *ngIf="!comment.isDeleted"
+      class="comment-avatar"
+      [src]="comment.accountAvatarUrl"
+      alt="Avatar"
+    />
 
-  <div class="comment">
-    <div class="comment-account-date">
-      <div class="comment-account">{{ comment.by }}</div>
-      <div class="comment-date">{{ comment.createdAt | myFromNow }}</div>
-    </div>
-    <div>{{ comment.text }}</div>
+    <div class="vertical-border"></div>
+  </div>
 
-    <div class="comment-actions">
-      <div *ngIf="isUserLoggedIn()" (click)="onWantToReply()" class="comment-action-reply">Reply</div>
-    </div>
+  <div class="right">
+    <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">{{ comment.by }}</a>
+          <a [routerLink]="['/videos/watch', video.uuid, { 'threadId': comment.threadId }]"
+             class="comment-date">{{ comment.createdAt | myFromNow }}</a>
+        </div>
+        <div class="comment-html" [innerHTML]="sanitizedCommentHTML"></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>
+        </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>
 
-    <my-video-comment-add
-      *ngIf="isUserLoggedIn() && inReplyToCommentId === comment.id"
-      [user]="user"
-      [video]="video"
-      [parentComment]="comment"
-      [focusOnInit]="true"
-      (commentCreated)="onCommentReplyCreated($event)"
-    ></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"
-          (wantedToReply)="onWantedToReply($event)"
-          (resetReply)="onResetReply()"
-        ></my-video-comment>
+      <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()"
+          ></my-video-comment>
+        </div>
       </div>
     </div>
   </div>