diff --git a/apps/roam/src/components/settings/utils/accessors.ts b/apps/roam/src/components/settings/utils/accessors.ts index 940eb7dfd..6bbf66549 100644 --- a/apps/roam/src/components/settings/utils/accessors.ts +++ b/apps/roam/src/components/settings/utils/accessors.ts @@ -11,7 +11,7 @@ import { z } from "zod"; import { DG_BLOCK_PROP_SETTINGS_PAGE_TITLE, DISCOURSE_NODE_PAGE_PREFIX, - TOP_LEVEL_BLOCK_PROP_KEYS, + STATIC_TOP_LEVEL_ENTRIES, FeatureFlagsSchema, GlobalSettingsSchema, PersonalSettingsSchema, @@ -274,7 +274,7 @@ const setBlockPropBasedSettings = ({ export const getFeatureFlags = (): FeatureFlags => { const { blockProps } = getBlockPropBasedSettings({ - keys: [TOP_LEVEL_BLOCK_PROP_KEYS.featureFlags], + keys: [STATIC_TOP_LEVEL_ENTRIES.featureFlags.key], }); return FeatureFlagsSchema.parse(blockProps || {}); @@ -292,14 +292,14 @@ export const setFeatureFlag = ( const validatedValue = z.boolean().parse(value); setBlockPropBasedSettings({ - keys: [TOP_LEVEL_BLOCK_PROP_KEYS.featureFlags, key], + keys: [STATIC_TOP_LEVEL_ENTRIES.featureFlags.key, key], value: validatedValue, }); }; export const getGlobalSettings = (): GlobalSettings => { const { blockProps } = getBlockPropBasedSettings({ - keys: [TOP_LEVEL_BLOCK_PROP_KEYS.global], + keys: [STATIC_TOP_LEVEL_ENTRIES.global.key], }); return GlobalSettingsSchema.parse(blockProps || {}); @@ -337,7 +337,7 @@ export const setGlobalSetting = (keys: string[], value: json): void => { } setBlockPropBasedSettings({ - keys: [TOP_LEVEL_BLOCK_PROP_KEYS.global, ...keys], + keys: [STATIC_TOP_LEVEL_ENTRIES.global.key, ...keys], value, }); }; diff --git a/apps/roam/src/components/settings/utils/pullWatchers.ts b/apps/roam/src/components/settings/utils/pullWatchers.ts index 81026957c..d2da1c3b1 100644 --- a/apps/roam/src/components/settings/utils/pullWatchers.ts +++ b/apps/roam/src/components/settings/utils/pullWatchers.ts @@ -1,7 +1,7 @@ import { type json, normalizeProps } from "~/utils/getBlockProps"; import type { AddPullWatch, PullBlock } from "roamjs-components/types"; import { - TOP_LEVEL_BLOCK_PROP_KEYS, + STATIC_TOP_LEVEL_ENTRIES, getPersonalSettingsKey, FeatureFlagsSchema, GlobalSettingsSchema, @@ -165,8 +165,8 @@ export const setupPullWatchOnSettingsPage = ( const watches: Parameters[] = []; const featureFlagsBlockUid = - blockUids[TOP_LEVEL_BLOCK_PROP_KEYS.featureFlags]; - const globalSettingsBlockUid = blockUids[TOP_LEVEL_BLOCK_PROP_KEYS.global]; + blockUids[STATIC_TOP_LEVEL_ENTRIES.featureFlags.key]; + const globalSettingsBlockUid = blockUids[STATIC_TOP_LEVEL_ENTRIES.global.key]; const personalSettingsKey = getPersonalSettingsKey(); const personalSettingsBlockUid = blockUids[personalSettingsKey]; diff --git a/apps/roam/src/components/settings/utils/zodSchema.ts b/apps/roam/src/components/settings/utils/zodSchema.ts index 60ec5f331..0103c65c9 100644 --- a/apps/roam/src/components/settings/utils/zodSchema.ts +++ b/apps/roam/src/components/settings/utils/zodSchema.ts @@ -272,26 +272,19 @@ export const getPersonalSettingsKey = (): string => { return cachedPersonalSettingsKey; }; -const staticTopLevelEntries = [ - { - propKey: "featureFlags" as const, +export const STATIC_TOP_LEVEL_ENTRIES = { + featureFlags: { key: "Feature Flags", schema: FeatureFlagsSchema, }, - { - propKey: "global" as const, + global: { key: "Global", schema: GlobalSettingsSchema, }, -]; - -export const TOP_LEVEL_BLOCK_PROP_KEYS = { - featureFlags: "Feature Flags", - global: "Global", } as const; export const getTopLevelBlockPropsConfig = () => [ - ...staticTopLevelEntries, + ...Object.values(STATIC_TOP_LEVEL_ENTRIES), { key: getPersonalSettingsKey(), schema: PersonalSettingsSchema }, ];