mirror of https://github.com/Chocobozzz/PeerTube
fix deleted comment layout and its notification display
parent
10475dea7d
commit
c5c09c1e50
|
@ -65,6 +65,13 @@ export class AvatarNotificationComponent implements OnInit, OnDestroy {
|
|||
|
||||
markAllAsRead () {
|
||||
this.userNotificationService.markAllAsRead()
|
||||
.subscribe(
|
||||
() => {
|
||||
this.unreadNotifications = 0
|
||||
},
|
||||
|
||||
err => this.notifier.error(err.message)
|
||||
)
|
||||
}
|
||||
|
||||
private async subscribeToNotifications () {
|
||||
|
|
|
@ -102,6 +102,7 @@ export class UserNotification implements UserNotificationServer {
|
|||
|
||||
case UserNotificationType.NEW_COMMENT_ON_MY_VIDEO:
|
||||
case UserNotificationType.COMMENT_MENTION:
|
||||
if (!this.comment) break
|
||||
this.accountUrl = this.buildAccountUrl(this.comment.account)
|
||||
this.commentUrl = [ this.buildVideoUrl(this.comment.video), { threadId: this.comment.threadId } ]
|
||||
break
|
||||
|
|
|
@ -5,11 +5,25 @@
|
|||
|
||||
<ng-container [ngSwitch]="notification.type">
|
||||
<ng-container *ngSwitchCase="UserNotificationType.NEW_VIDEO_FROM_SUBSCRIPTION">
|
||||
<ng-container *ngIf="notification.video; then hasVideo; else noVideo"></ng-container>
|
||||
|
||||
<ng-template #hasVideo>
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">
|
||||
<img alt="" aria-labelledby="avatar" class="avatar" [src]="notification.video.channel.avatarUrl" />
|
||||
</a>
|
||||
|
||||
<div class="message" i18n>
|
||||
{{ notification.video.channel.displayName }} published a new video: <a (click)="markAsRead(notification)" [routerLink]="notification.videoUrl">{{ notification.video.name }}</a>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #noVideo>
|
||||
<my-global-icon iconName="alert"></my-global-icon>
|
||||
|
||||
<div class="message" i18n>
|
||||
The notification concerns a video now unavailable
|
||||
</div>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchCase="UserNotificationType.UNBLACKLIST_ON_MY_VIDEO">
|
||||
|
@ -45,11 +59,25 @@
|
|||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchCase="UserNotificationType.NEW_COMMENT_ON_MY_VIDEO">
|
||||
<ng-container *ngIf="notification.comment; then hasComment; else noComment"></ng-container>
|
||||
|
||||
<ng-template #hasComment>
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">
|
||||
<img alt="" aria-labelledby="avatar" class="avatar" [src]="notification.comment.account.avatarUrl" />
|
||||
</a>
|
||||
|
||||
<div class="message" i18n>
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">{{ notification.comment.account.displayName }}</a> commented your video <a (click)="markAsRead(notification)" [routerLink]="notification.commentUrl">{{ notification.comment.video.name }}</a>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #noComment>
|
||||
<my-global-icon iconName="alert"></my-global-icon>
|
||||
|
||||
<div class="message" i18n>
|
||||
The notification concerns a comment now unavailable
|
||||
</div>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchCase="UserNotificationType.MY_VIDEO_PUBLISHED">
|
||||
|
@ -80,12 +108,14 @@
|
|||
<my-global-icon iconName="user-add"></my-global-icon>
|
||||
|
||||
<div class="message" i18n>
|
||||
User <a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">{{ notification.account.name }} registered</a> on your instance
|
||||
User <a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">{{ notification.account.name }}</a> registered on your instance
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchCase="UserNotificationType.NEW_FOLLOW">
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">
|
||||
<img alt="" aria-labelledby="avatar" class="avatar" [src]="notification.actorFollow.follower.avatarUrl" />
|
||||
</a>
|
||||
|
||||
<div class="message" i18n>
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">{{ notification.actorFollow.follower.displayName }}</a> is following
|
||||
|
@ -96,7 +126,9 @@
|
|||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchCase="UserNotificationType.COMMENT_MENTION">
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">
|
||||
<img alt="" aria-labelledby="avatar" class="avatar" [src]="notification.comment.account.avatarUrl" />
|
||||
</a>
|
||||
|
||||
<div class="message" i18n>
|
||||
<a (click)="markAsRead(notification)" [routerLink]="notification.accountUrl">{{ notification.comment.account.displayName }}</a> mentioned you on <a (click)="markAsRead(notification)" [routerLink]="notification.commentUrl">video {{ notification.comment.video.name }}</a>
|
||||
|
@ -119,8 +151,16 @@
|
|||
Your instance automatically followed <a (click)="markAsRead(notification)" [routerLink]="notification.instanceFollowUrl">{{ notification.actorFollow.following.host }}</a>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngSwitchDefault>
|
||||
<my-global-icon iconName="alert"></my-global-icon>
|
||||
|
||||
<div class="message" i18n>
|
||||
The notification points to a content now unavailable
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
<div class="from-date">{{ notification.createdAt | myFromNow }}</div>
|
||||
<div [title]="notification.createdAt" class="from-date">{{ notification.createdAt | myFromNow }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -48,5 +48,6 @@
|
|||
padding-left: 5px;
|
||||
min-width: 70px;
|
||||
text-align: right;
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<div class="video-feed">
|
||||
<div class="video-feed"
|
||||
[ngbTooltip]="'Feeds available'"
|
||||
placement="right auto"
|
||||
container="body"
|
||||
>
|
||||
<my-global-icon
|
||||
*ngIf="syndicationItems.length !== 0" [ngbPopover]="feedsList" [autoClose]="true" placement="bottom"
|
||||
class="icon-syndication" role="button" iconName="syndication"
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
@import '_mixins';
|
||||
|
||||
.video-feed {
|
||||
width: min-content;
|
||||
|
||||
a {
|
||||
color: black;
|
||||
display: block;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
width: 2px;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
margin: 10px 0;
|
||||
margin: 10px calc(1rem + 1px);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,6 +106,7 @@
|
|||
|
||||
&.comment-html-deleted {
|
||||
color: $grey-foreground-color;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue