web/common: fix uiConfig not merged correctly (#15080)

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Jens L.
2025-06-17 01:36:39 +02:00
committed by GitHub
parent da6d4ede51
commit 9464b422a3

View File

@ -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> {