From bd1dd8fd95c345b37e1fcc0051f1f818fe113422 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 15 Dec 2023 11:23:03 +0100 Subject: [PATCH] Reload overviews page on logout --- .../overview/video-overview.component.ts | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/client/src/app/+videos/video-list/overview/video-overview.component.ts b/client/src/app/+videos/video-list/overview/video-overview.component.ts index b32e8f381..c7720ad5c 100644 --- a/client/src/app/+videos/video-list/overview/video-overview.component.ts +++ b/client/src/app/+videos/video-list/overview/video-overview.component.ts @@ -1,5 +1,5 @@ -import { Subject } from 'rxjs' -import { Component, OnInit } from '@angular/core' +import { Subject, Subscription, switchMap } from 'rxjs' +import { Component, OnDestroy, OnInit } from '@angular/core' import { Notifier, ScreenService, User, UserService } from '@app/core' import { Video } from '@app/shared/shared-main' import { OverviewService } from './overview.service' @@ -10,7 +10,7 @@ import { VideosOverview } from './videos-overview.model' templateUrl: './video-overview.component.html', styleUrls: [ './video-overview.component.scss' ] }) -export class VideoOverviewComponent implements OnInit { +export class VideoOverviewComponent implements OnInit, OnDestroy { onDataSubject = new Subject() overviews: VideosOverview[] = [] @@ -24,6 +24,8 @@ export class VideoOverviewComponent implements OnInit { private lastWasEmpty = false private isLoading = false + private userSub: Subscription + constructor ( private notifier: Notifier, private userService: UserService, @@ -37,8 +39,18 @@ export class VideoOverviewComponent implements OnInit { this.userService.getAnonymousOrLoggedUser() .subscribe(user => this.userMiniature = user) - this.userService.listenAnonymousUpdate() - .subscribe(user => this.userMiniature = user) + this.userSub = this.userService.listenAnonymousUpdate() + .pipe(switchMap(() => this.userService.getAnonymousOrLoggedUser())) + .subscribe(user => { + this.userMiniature = user + + this.overviews = [] + this.loadMoreResults() + }) + } + + ngOnDestroy () { + if (this.userSub) this.userSub.unsubscribe() } buildVideoChannelBy (object: { videos: Video[] }) {