aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/header
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/header')
-rw-r--r--client/src/app/header/header.component.ts17
1 files changed, 12 insertions, 5 deletions
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 @@
1import { filter, first, map, tap } from 'rxjs/operators' 1import { filter, first, map, tap } from 'rxjs/operators'
2import { Component, OnInit } from '@angular/core' 2import { Component, OnInit } from '@angular/core'
3import { NavigationEnd, Router } from '@angular/router' 3import { ActivatedRoute, NavigationEnd, Params, Router } from '@angular/router'
4import { getParameterByName } from '../shared/misc/utils' 4import { getParameterByName } from '../shared/misc/utils'
5import { AuthService } from '@app/core' 5import { AuthService } from '@app/core'
6import { of } from 'rxjs' 6import { of } from 'rxjs'
@@ -16,6 +16,7 @@ export class HeaderComponent implements OnInit {
16 16
17 constructor ( 17 constructor (
18 private router: Router, 18 private router: Router,
19 private route: ActivatedRoute,
19 private auth: AuthService 20 private auth: AuthService
20 ) {} 21 ) {}
21 22
@@ -29,18 +30,24 @@ export class HeaderComponent implements OnInit {
29 } 30 }
30 31
31 doSearch () { 32 doSearch () {
32 const queryParams: any = { 33 const queryParams: Params = {}
33 search: this.searchValue 34
35 if (window.location.pathname === '/search' && this.route.snapshot.queryParams) {
36 Object.assign(queryParams, this.route.snapshot.queryParams)
34 } 37 }
35 38
39 Object.assign(queryParams, { search: this.searchValue })
40
36 const o = this.auth.isLoggedIn() 41 const o = this.auth.isLoggedIn()
37 ? this.loadUserLanguages(queryParams) 42 ? this.loadUserLanguagesIfNeeded(queryParams)
38 : of(true) 43 : of(true)
39 44
40 o.subscribe(() => this.router.navigate([ '/search' ], { queryParams })) 45 o.subscribe(() => this.router.navigate([ '/search' ], { queryParams }))
41 } 46 }
42 47
43 private loadUserLanguages (queryParams: any) { 48 private loadUserLanguagesIfNeeded (queryParams: any) {
49 if (queryParams && queryParams.languageOneOf) return of(queryParams)
50
44 return this.auth.userInformationLoaded 51 return this.auth.userInformationLoaded
45 .pipe( 52 .pipe(
46 first(), 53 first(),