diff --git a/apps/roam/src/data/blockPropsSettingsConfig.ts b/apps/roam/src/data/blockPropsSettingsConfig.ts index 54dc17ba3..4efc27d00 100644 --- a/apps/roam/src/data/blockPropsSettingsConfig.ts +++ b/apps/roam/src/data/blockPropsSettingsConfig.ts @@ -1,2 +1,6 @@ -export const DG_BLOCK_PROP_SETTINGS_PAGE_TITLE ="roam/js/discourse-graph/block-prop-settings"; -export const TOP_LEVEL_BLOCK_PROP_KEYS = { featureFlags: "Feature Flags" }; \ No newline at end of file +export const DG_BLOCK_PROP_SETTINGS_PAGE_TITLE = + "roam/js/discourse-graph/block-prop-settings"; +export const TOP_LEVEL_BLOCK_PROP_KEYS = { + featureFlags: "Feature Flags", + global: "Global", +}; diff --git a/apps/roam/src/utils/zodSchemaForSettings.ts b/apps/roam/src/utils/zodSchemaForSettings.ts index 218dd37a3..092b5fd74 100644 --- a/apps/roam/src/utils/zodSchemaForSettings.ts +++ b/apps/roam/src/utils/zodSchemaForSettings.ts @@ -4,6 +4,17 @@ import { z } from "zod"; export const FeatureFlagsSchema = z.object({ "Enable Left Sidebar": z.boolean().default(false), }); + +export const GlobalSettingsSchema = z.object({ + "Left Sidebar": z.object({ + Children: z.array(z.string()), + Settings: z.object({ + Foldable: z.boolean(), + "Truncate at": z.number().int(), + }), + }), +}); /* eslint-disable @typescript-eslint/naming-convention */ export type FeatureFlags = z.infer; +export type GlobalSettings = z.infer;