Fix component reuse on channel/account videos
authorChocobozzz <me@florianbigard.com>
Mon, 13 May 2019 08:37:55 +0000 (10:37 +0200)
committerChocobozzz <me@florianbigard.com>
Mon, 13 May 2019 08:37:55 +0000 (10:37 +0200)
client/src/app/+accounts/account-videos/account-videos.component.ts
client/src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts
client/src/app/app.component.ts

index 1814ef455866d6a732810843cf9c3e356257c86d..0d579fa0c7c053f6ae8228deae8afe4a601b8fc6 100644 (file)
@@ -7,7 +7,7 @@ import { AbstractVideoList } from '../../shared/video/abstract-video-list'
 import { VideoService } from '../../shared/video/video.service'
 import { Account } from '@app/shared/account/account.model'
 import { AccountService } from '@app/shared/account/account.service'
-import { tap } from 'rxjs/operators'
+import { first, tap } from 'rxjs/operators'
 import { I18n } from '@ngx-translate/i18n-polyfill'
 import { Subscription } from 'rxjs'
 import { ScreenService } from '@app/shared/misc/screen.service'
@@ -50,12 +50,13 @@ export class AccountVideosComponent extends AbstractVideoList implements OnInit,
 
     // Parent get the account for us
     this.accountSub = this.accountService.accountLoaded
-      .subscribe(account => {
-        this.account = account
+                          .pipe(first())
+                          .subscribe(account => {
+                            this.account = account
 
-        this.reloadVideos()
-        this.generateSyndicationList()
-      })
+                            this.reloadVideos()
+                            this.generateSyndicationList()
+                          })
   }
 
   ngOnDestroy () {
index 2045a095d28169feca573a84334ee33ce6f75f56..5e60b34b4249c64146e52e23753aa089352cbc3f 100644 (file)
@@ -7,7 +7,7 @@ import { AbstractVideoList } from '../../shared/video/abstract-video-list'
 import { VideoService } from '../../shared/video/video.service'
 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
 import { VideoChannel } from '@app/shared/video-channel/video-channel.model'
-import { tap } from 'rxjs/operators'
+import { first, tap } from 'rxjs/operators'
 import { I18n } from '@ngx-translate/i18n-polyfill'
 import { Subscription } from 'rxjs'
 import { ScreenService } from '@app/shared/misc/screen.service'
@@ -50,12 +50,13 @@ export class VideoChannelVideosComponent extends AbstractVideoList implements On
 
     // Parent get the video channel for us
     this.videoChannelSub = this.videoChannelService.videoChannelLoaded
-      .subscribe(videoChannel => {
-        this.videoChannel = videoChannel
+                               .pipe(first())
+                               .subscribe(videoChannel => {
+                                 this.videoChannel = videoChannel
 
-        this.reloadVideos()
-        this.generateSyndicationList()
-      })
+                                 this.reloadVideos()
+                                 this.generateSyndicationList()
+                               })
   }
 
   ngOnDestroy () {
index ad0588b99be1153b4a0b66749fb01d2c6876ade1..915466af73a38c331a1de34f2b7cbbbbee011572 100644 (file)
@@ -125,8 +125,8 @@ export class AppComponent implements OnInit {
                         try {
                           resetScroll = false
 
-                          const previousUrl = new URL(window.location.origin + e1.url)
-                          const nextUrl = new URL(window.location.origin + e2.url)
+                          const previousUrl = new URL(window.location.origin + e1.urlAfterRedirects)
+                          const nextUrl = new URL(window.location.origin + e2.urlAfterRedirects)
 
                           if (previousUrl.pathname !== nextUrl.pathname) {
                             resetScroll = true