peertubeLocalStorage.setItem(AppComponent.BROADCAST_MESSAGE_KEY, this.serverConfig.broadcastMessage.message)
this.broadcastMessage = null
+ this.screenService.isBroadcastMessageDisplayed = false
}
private initRouteEvents () {
const scrollEvent = eventsObs.pipe(filter((e: Event): e is Scroll => e instanceof Scroll))
scrollEvent.subscribe(e => {
- if (e.position) {
- return this.viewportScroller.scrollToPosition(e.position)
+ // scrollToAnchor first to preserve anchor position when using history navigation
+ if (e.anchor) {
+ setTimeout(() => {
+ this.viewportScroller.scrollToAnchor(e.anchor)
+ })
+
+ return
}
- if (e.anchor) {
- return this.viewportScroller.scrollToAnchor(e.anchor)
+ if (e.position) {
+ return this.viewportScroller.scrollToPosition(e.position)
}
if (resetScroll) {
this.serverService.configReloaded
).subscribe(async config => {
this.broadcastMessage = null
+ this.screenService.isBroadcastMessageDisplayed = false
const messageConfig = config.broadcastMessage
dismissable: messageConfig.dismissable,
class: classes[messageConfig.level]
}
+
+ this.screenService.isBroadcastMessageDisplayed = true
}
})
}