diff --git a/frontend/app/src/api/site-settings.ts b/frontend/app/src/api/site-settings.ts index df90c4bd..b72c64a0 100644 --- a/frontend/app/src/api/site-settings.ts +++ b/frontend/app/src/api/site-settings.ts @@ -42,6 +42,8 @@ export interface PublicWebsiteSettings { 'custom_js_button_img_src': string; 'custom_js_logo_src': string; 'ga_id': string | null; + 'enable_post_verifications': boolean; + 'enable_post_verifications_for_widgets': boolean; } const settingsItemSchema = z.object({ @@ -69,7 +71,7 @@ const settingsItemSchema = z.object({ z.object({ data_type: z.literal('bool'), value: z.boolean().nullable(), - default: z.boolean(), + default: z.coerce.boolean(), }), z.object({ data_type: z.literal('list'), diff --git a/frontend/app/src/app/layout.tsx b/frontend/app/src/app/layout.tsx index 4c8ffcde..79a11701 100644 --- a/frontend/app/src/app/layout.tsx +++ b/frontend/app/src/app/layout.tsx @@ -39,10 +39,16 @@ export default async function RootLayout ({ getBootstrapStatus(), ]); + const _experimentalFeatures = experimentalFeatures(); + + if (!settings.enable_post_verifications) { + delete _experimentalFeatures.message_verify_service; + } + return ( - + {children} diff --git a/frontend/packages/widget-react/src/load-config.ts b/frontend/packages/widget-react/src/load-config.ts index 3a902859..7f7696a4 100644 --- a/frontend/packages/widget-react/src/load-config.ts +++ b/frontend/packages/widget-react/src/load-config.ts @@ -16,5 +16,9 @@ export async function loadConfig () { fetch(requestUrl(`/experimental-features`)).then(res => res.json() as Promise>), ]); + if (!settings.enable_post_verifications || !settings.enable_post_verifications_for_widgets) { + delete experimentalFeatures.message_verify_service; + } + return { settings, bootstrapStatus, experimentalFeatures }; }