From baeb429d06d101f69c677fdb70c3da2eb9d3823d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 21 Oct 2019 13:31:58 +0200 Subject: Fix search with account video languages --- client/src/app/header/header.component.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'client/src/app/header/header.component.ts') diff --git a/client/src/app/header/header.component.ts b/client/src/app/header/header.component.ts index 88cd652e2..c6e942e0e 100644 --- a/client/src/app/header/header.component.ts +++ b/client/src/app/header/header.component.ts @@ -1,6 +1,6 @@ import { filter, first, map, tap } from 'rxjs/operators' import { Component, OnInit } from '@angular/core' -import { NavigationEnd, Router } from '@angular/router' +import { ActivatedRoute, NavigationEnd, Params, Router } from '@angular/router' import { getParameterByName } from '../shared/misc/utils' import { AuthService } from '@app/core' import { of } from 'rxjs' @@ -16,6 +16,7 @@ export class HeaderComponent implements OnInit { constructor ( private router: Router, + private route: ActivatedRoute, private auth: AuthService ) {} @@ -29,18 +30,24 @@ export class HeaderComponent implements OnInit { } doSearch () { - const queryParams: any = { - search: this.searchValue + const queryParams: Params = {} + + if (window.location.pathname === '/search' && this.route.snapshot.queryParams) { + Object.assign(queryParams, this.route.snapshot.queryParams) } + Object.assign(queryParams, { search: this.searchValue }) + const o = this.auth.isLoggedIn() - ? this.loadUserLanguages(queryParams) + ? this.loadUserLanguagesIfNeeded(queryParams) : of(true) o.subscribe(() => this.router.navigate([ '/search' ], { queryParams })) } - private loadUserLanguages (queryParams: any) { + private loadUserLanguagesIfNeeded (queryParams: any) { + if (queryParams && queryParams.languageOneOf) return of(queryParams) + return this.auth.userInformationLoaded .pipe( first(), -- cgit v1.2.3