Browse Source

Language restore after login if previously set

pull/3828/head
Madhab Sahoo 11 months ago
committed by Thomas Kaul
parent
commit
0d5861b55f
  1. 15
      apps/client/src/app/app.component.ts

15
apps/client/src/app/app.component.ts

@ -5,7 +5,7 @@ import { InfoItem, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { ColorScheme } from '@ghostfolio/common/types'; import { ColorScheme } from '@ghostfolio/common/types';
import { DOCUMENT } from '@angular/common'; import { DOCUMENT, LocationStrategy } from '@angular/common';
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
@ -96,7 +96,8 @@ export class AppComponent implements OnDestroy, OnInit {
private router: Router, private router: Router,
private title: Title, private title: Title,
private tokenStorageService: TokenStorageService, private tokenStorageService: TokenStorageService,
private userService: UserService private userService: UserService,
private locationStrategy: LocationStrategy
) { ) {
this.initializeTheme(); this.initializeTheme();
this.user = undefined; this.user = undefined;
@ -223,6 +224,16 @@ export class AppComponent implements OnDestroy, OnInit {
.subscribe((state) => { .subscribe((state) => {
this.user = state.user; this.user = state.user;
const setUserLanguage = sessionStorage.getItem('set_user_language');
if (setUserLanguage !== 'true' && this.user?.settings) {
const userLanguage = this.user.settings.language;
const userBasePath = `/${userLanguage}/`;
if (!this.locationStrategy.getBaseHref().includes(userBasePath)) {
sessionStorage.setItem('set_user_language', 'true');
window.location.href = `..${userBasePath}`;
}
}
this.canCreateAccount = hasPermission( this.canCreateAccount = hasPermission(
this.user?.permissions, this.user?.permissions,
permissions.createUserAccount permissions.createUserAccount

Loading…
Cancel
Save