X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2Fmenu%2Favatar-notification.component.ts;h=ed3ffc2d8e7f97943d21a0f3903c4261af849637;hb=26300126f99a4a2b8dd1ae501da4a7dcb2e514c7;hp=ff830ac1c310cd221fcc5247df7ca6b00488ebd9;hpb=c5c09c1e5017844027ef77785f2d0406fa6b7039;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/menu/avatar-notification.component.ts b/client/src/app/menu/avatar-notification.component.ts index ff830ac1c..ed3ffc2d8 100644 --- a/client/src/app/menu/avatar-notification.component.ts +++ b/client/src/app/menu/avatar-notification.component.ts @@ -1,11 +1,10 @@ -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 { Notifier, UserNotificationSocket } from '@app/core' -import { NgbPopover } from '@ng-bootstrap/ng-bootstrap' -import { NavigationEnd, Router } from '@angular/router' +import { Subject, Subscription } from 'rxjs' import { filter } from 'rxjs/operators' +import { Component, EventEmitter, Input, Output, OnDestroy, OnInit, ViewChild } from '@angular/core' +import { NavigationEnd, Router } from '@angular/router' +import { Notifier, User, PeerTubeSocket } from '@app/core' +import { UserNotificationService } from '@app/shared/shared-main' +import { NgbPopover } from '@ng-bootstrap/ng-bootstrap' @Component({ selector: 'my-avatar-notification', @@ -14,17 +13,21 @@ import { filter } from 'rxjs/operators' }) export class AvatarNotificationComponent implements OnInit, OnDestroy { @ViewChild('popover', { static: true }) popover: NgbPopover + @Input() user: User + @Output() navigate = new EventEmitter() unreadNotifications = 0 loaded = false + markAllAsReadSubject = new Subject() + private notificationSub: Subscription private routeSub: Subscription constructor ( private userNotificationService: UserNotificationService, - private userNotificationSocket: UserNotificationSocket, + private peertubeSocket: PeerTubeSocket, private notifier: Notifier, private router: Router ) { @@ -63,19 +66,16 @@ export class AvatarNotificationComponent implements OnInit, OnDestroy { this.loaded = true } - markAllAsRead () { - this.userNotificationService.markAllAsRead() - .subscribe( - () => { - this.unreadNotifications = 0 - }, + onNavigate (link: HTMLAnchorElement) { + this.navigate.emit(link) + } - err => this.notifier.error(err.message) - ) + markAllAsRead () { + this.markAllAsReadSubject.next(true) } private async subscribeToNotifications () { - const obs = await this.userNotificationSocket.getMyNotificationsSocket() + const obs = await this.peertubeSocket.getMyNotificationsSocket() this.notificationSub = obs.subscribe(data => { if (data.type === 'new') return this.unreadNotifications++