web/common: fix uiConfig not merged correctly (#15080)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		@ -1,5 +1,6 @@
 | 
				
			|||||||
import { me } from "@goauthentik/common/users.js";
 | 
					import { me } from "@goauthentik/common/users.js";
 | 
				
			||||||
import { isUserRoute } from "@goauthentik/elements/router/utils.js";
 | 
					import { isUserRoute } from "@goauthentik/elements/router/utils.js";
 | 
				
			||||||
 | 
					import { deepmerge, deepmergeInto } from "deepmerge-ts";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { UiThemeEnum, UserSelf } from "@goauthentik/api";
 | 
					import { UiThemeEnum, UserSelf } from "@goauthentik/api";
 | 
				
			||||||
import { CurrentBrand } from "@goauthentik/api";
 | 
					import { CurrentBrand } from "@goauthentik/api";
 | 
				
			||||||
@ -96,13 +97,12 @@ export class DefaultUIConfig implements UIConfig {
 | 
				
			|||||||
let globalUiConfig: Promise<UIConfig>;
 | 
					let globalUiConfig: Promise<UIConfig>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function getConfigForUser(user: UserSelf): UIConfig {
 | 
					export function getConfigForUser(user: UserSelf): UIConfig {
 | 
				
			||||||
    const settings = user.settings;
 | 
					    const settings = user.settings as UIConfig;
 | 
				
			||||||
    let config = new DefaultUIConfig();
 | 
					    const config = new DefaultUIConfig();
 | 
				
			||||||
    if (!settings) {
 | 
					    if (!settings) {
 | 
				
			||||||
        return config;
 | 
					        return config;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    config = Object.assign(new DefaultUIConfig(), settings);
 | 
					    return deepmerge({ ...config }, settings);
 | 
				
			||||||
    return config;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function uiConfig(): Promise<UIConfig> {
 | 
					export function uiConfig(): Promise<UIConfig> {
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user