From 17b39b876f2ef757aba904c2980e06c77c22fb1b Mon Sep 17 00:00:00 2001 From: Madhab Sahoo Date: Fri, 27 Sep 2024 13:58:58 +0530 Subject: [PATCH] [BUG] Change language after login from user setting --- apps/client/src/app/app.component.ts | 4 ++-- .../app/components/header/header.component.ts | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index 14aae9a95..a35aa50fe 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -224,7 +224,7 @@ export class AppComponent implements OnDestroy, OnInit { .subscribe((state) => { this.user = state.user; - const setUserLanguage = sessionStorage.getItem('set_user_language'); + /* const setUserLanguage = sessionStorage.getItem('set_user_language'); if (setUserLanguage !== 'true' && this.user?.settings) { const userLanguage = this.user.settings.language; const userBasePath = `/${userLanguage}/`; @@ -232,7 +232,7 @@ export class AppComponent implements OnDestroy, OnInit { sessionStorage.setItem('set_user_language', 'true'); window.location.href = `..${userBasePath}`; } - } + } */ this.canCreateAccount = hasPermission( this.user?.permissions, diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index be90fbc8e..8849646ef 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -15,6 +15,7 @@ import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { DateRange } from '@ghostfolio/common/types'; import { GfAssistantComponent } from '@ghostfolio/ui/assistant/assistant.component'; +import { LocationStrategy } from '@angular/common'; import { ChangeDetectionStrategy, Component, @@ -100,7 +101,8 @@ export class HeaderComponent implements OnChanges { private router: Router, private settingsStorageService: SettingsStorageService, private tokenStorageService: TokenStorageService, - private userService: UserService + private userService: UserService, + private locationStrategy: LocationStrategy ) { this.impersonationStorageService .onChangeHasImpersonation() @@ -256,12 +258,23 @@ export class HeaderComponent implements OnChanges { } public setToken(aToken: string) { + console.log('Set Token called'); this.tokenStorageService.saveToken( aToken, this.settingsStorageService.getSetting(KEY_STAY_SIGNED_IN) === 'true' ); - - this.router.navigate(['/']); + this.userService + .get(true) + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((data) => { + const userLanguage = data.settings.language; + const userBasePath = `/${userLanguage}/`; + if (!this.locationStrategy.getBaseHref().includes(userBasePath)) { + window.location.href = `..${userBasePath}`; + } else { + this.router.navigate(['/']); + } + }); } public ngOnDestroy() {