feat: manage tenant appearance defaults

This commit is contained in:
2026-08-20 07:03:28 +02:00
parent 56f0661a10
commit c5119ab868
8 changed files with 162 additions and 18 deletions
+11 -1
View File
@@ -3,7 +3,8 @@ import type {
DeltaDeletedItem,
NavigationPreferences,
PrivacyRetentionPolicy,
TenantAdminItem
TenantAdminItem,
UserUiPalette
} from "@govoplan/core-webui";
import {
apiFetch,
@@ -43,6 +44,12 @@ export type TenantSettingsItem = {
system_enabled_language_codes: string[];
enabled_language_codes: string[];
navigation?: NavigationPreferences | null;
appearance_palette: UserUiPalette | null;
appearance_palette_locked: boolean;
system_appearance_palette: UserUiPalette;
system_appearance_palette_locked: boolean;
effective_appearance_palette: UserUiPalette;
effective_appearance_source: "tenant" | "system" | "tenant_lock" | "system_lock";
settings: Record<string, unknown>;
};
@@ -54,6 +61,7 @@ export type TenantSettingsDeltaSections = Partial<{
"available_languages" | "system_enabled_language_codes" | "enabled_language_codes"
>;
navigation: TenantSettingsItem["navigation"];
appearance: Pick<TenantSettingsItem, "appearance_palette" | "appearance_palette_locked" | "system_appearance_palette" | "system_appearance_palette_locked" | "effective_appearance_palette" | "effective_appearance_source">;
settings: TenantSettingsItem["settings"];
}>;
@@ -151,6 +159,8 @@ export function updateTenantSettings(
default_locale: string;
enabled_language_codes?: string[] | null;
navigation?: NavigationPreferences | null;
appearance_palette?: UserUiPalette | null;
appearance_palette_locked?: boolean;
}
): Promise<TenantSettingsItem> {
return apiFetch(settings, "/api/v1/admin/tenant/settings", {