<div class="video-info-first-row-bottom">
<div class="d-none d-md-block video-info-date-views">
<ng-container i18n>Published <my-date-toggle [date]="video.publishedAt"></my-date-toggle></ng-container>
-
- <span i18n [title]="video.getExactNumberOfViews()" class="views">
- • {{ video.views | myNumberFormatter }}
- <ng-container *ngIf="!video.isLive">views</ng-container>
- <ng-container *ngIf="video.isLive">viewers</ng-container>
- </span>
+ •
+ <my-video-views-counter [video]="video"></my-video-views-counter>
</div>
<div class="video-actions-rates">
this.notificationSocket = this.io(environment.apiUrl + '/user-notifications', {
query: { accessToken: this.auth.getAccessToken() }
})
+
+ this.notificationSocket.on('new-notification', (n: UserNotificationServer) => {
+ this.ngZone.run(() => this.dispatchNotificationEvent('new', n))
+ })
})
- this.notificationSocket.on('new-notification', (n: UserNotificationServer) => this.dispatchNotificationEvent('new', n))
}
private async initLiveVideosSocket () {
const types: LiveVideoEventType[] = [ 'views-change', 'state-change' ]
for (const type of types) {
- this.liveVideosSocket.on(type, (payload: LiveVideoEventPayload) => this.dispatchLiveVideoEvent(type, payload))
+ this.liveVideosSocket.on(type, (payload: LiveVideoEventPayload) => {
+ this.ngZone.run(() => this.dispatchLiveVideoEvent(type, payload))
+ })
}
}