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