X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fmenu%2Favatar-notification.component.ts;h=c447f031c61196fa7bb7a871cde7d9593e9b909c;hb=d6d951ddc0c492f3261065b5dcb4df0534d252fc;hp=878c5c88c581b96947a8ecc0c2dee9b27b83c593;hpb=41d713446c2152d47943ddb0c841a9e36ca5a9db;p=oweals%2Fpeertube.git diff --git a/client/src/app/menu/avatar-notification.component.ts b/client/src/app/menu/avatar-notification.component.ts index 878c5c88c..c447f031c 100644 --- a/client/src/app/menu/avatar-notification.component.ts +++ b/client/src/app/menu/avatar-notification.component.ts @@ -1,7 +1,7 @@ import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core' import { User } from '../shared/users/user.model' import { UserNotificationService } from '@app/shared/users/user-notification.service' -import { Subscription } from 'rxjs' +import { Subject, Subscription } from 'rxjs' import { Notifier, UserNotificationSocket } from '@app/core' import { NgbPopover } from '@ng-bootstrap/ng-bootstrap' import { NavigationEnd, Router } from '@angular/router' @@ -13,10 +13,14 @@ import { filter } from 'rxjs/operators' styleUrls: [ './avatar-notification.component.scss' ] }) export class AvatarNotificationComponent implements OnInit, OnDestroy { - @ViewChild('popover') popover: NgbPopover + @ViewChild('popover', { static: true }) popover: NgbPopover + @Input() user: User unreadNotifications = 0 + loaded = false + + markAllAsReadSubject = new Subject() private notificationSub: Subscription private routeSub: Subscription @@ -54,6 +58,18 @@ export class AvatarNotificationComponent implements OnInit, OnDestroy { this.popover.close() } + onPopoverHidden () { + this.loaded = false + } + + onNotificationLoaded () { + this.loaded = true + } + + markAllAsRead () { + this.markAllAsReadSubject.next(true) + } + private async subscribeToNotifications () { const obs = await this.userNotificationSocket.getMyNotificationsSocket()