@@ -6,6 +6,10 @@ export type DeploymentBranding = {
66 subtitle : string ;
77 logoUrl ?: string ;
88 logoAlt ?: string ;
9+ forumDefaults ?: {
10+ defaultSubscribed ?: boolean ;
11+ mandatoryForNewAgents ?: boolean ;
12+ } ;
913 theme ?: Record < string , string > ;
1014} ;
1115
@@ -34,6 +38,14 @@ function readTheme(value: unknown) {
3438 ) as Record < string , string > ;
3539}
3640
41+ function readForumDefaults ( value : unknown ) : DeploymentBranding [ "forumDefaults" ] {
42+ if ( ! isRecord ( value ) ) return undefined ;
43+ return {
44+ defaultSubscribed : typeof value . defaultSubscribed === "boolean" ? value . defaultSubscribed : undefined ,
45+ mandatoryForNewAgents : typeof value . mandatoryForNewAgents === "boolean" ? value . mandatoryForNewAgents : undefined ,
46+ } ;
47+ }
48+
3749export async function loadDeploymentBranding ( ) : Promise < DeploymentBranding > {
3850 try {
3951 const response = await fetch ( "/branding.json" , { cache : "no-store" } ) ;
@@ -48,6 +60,7 @@ export async function loadDeploymentBranding(): Promise<DeploymentBranding> {
4860 subtitle : readString ( payload . subtitle , defaultBranding . subtitle ) ,
4961 logoUrl : typeof payload . logoUrl === "string" ? payload . logoUrl : undefined ,
5062 logoAlt : typeof payload . logoAlt === "string" ? payload . logoAlt : undefined ,
63+ forumDefaults : readForumDefaults ( payload . forumDefaults ) ,
5164 theme : readTheme ( payload . theme ) ,
5265 } ;
5366 } catch {
0 commit comments