Browse Source

[BUG] Change language after login from user setting

pull/3828/head
Madhab Sahoo 11 months ago
committed by Thomas Kaul
parent
commit
17b39b876f
  1. 4
      apps/client/src/app/app.component.ts
  2. 19
      apps/client/src/app/components/header/header.component.ts

4
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,

19
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() {

Loading…
Cancel
Save