diff --git a/module/apps/DevSettingsMenu.mjs b/module/apps/DevSettingsMenu.mjs index 909fbab..81a14e8 100644 --- a/module/apps/DevSettingsMenu.mjs +++ b/module/apps/DevSettingsMenu.mjs @@ -1,4 +1,4 @@ -import { devSettings } from "../utils/DevSettings.mjs"; +import { categories } from "../utils/SubMenuSettings.mjs"; import { OFTSettingsMenu } from "./OFTSettingsMenu.mjs"; export class DevSettingsMenu extends OFTSettingsMenu { @@ -9,6 +9,7 @@ export class DevSettingsMenu extends OFTSettingsMenu { }; static get _SETTINGS() { + const devSettings = categories.get(`dev`); const settingIDs = []; for (const [settingID, shown] of devSettings.entries()) { if (shown) { diff --git a/module/settings/addGlobalDocReferrer.mjs b/module/settings/addGlobalDocReferrer.mjs index 0700606..d40b1eb 100644 --- a/module/settings/addGlobalDocReferrer.mjs +++ b/module/settings/addGlobalDocReferrer.mjs @@ -1,6 +1,6 @@ import { __ID__ } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; -import { registerDevSetting } from "../utils/DevSettings.mjs"; +import { registerDevSetting } from "../utils/SubMenuSettings.mjs"; const key = `addGlobalDocReferrer`; diff --git a/module/settings/autoUnpauseOnLoad.mjs b/module/settings/autoUnpauseOnLoad.mjs index 03ddea4..9bf84b3 100644 --- a/module/settings/autoUnpauseOnLoad.mjs +++ b/module/settings/autoUnpauseOnLoad.mjs @@ -1,6 +1,6 @@ import { __ID__ } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; -import { registerDevSetting } from "../utils/DevSettings.mjs"; +import { registerDevSetting } from "../utils/SubMenuSettings.mjs"; const key = `autoUnpauseOnLoad`; diff --git a/module/utils/DevSettings.mjs b/module/utils/DevSettings.mjs deleted file mode 100644 index 7d847fa..0000000 --- a/module/utils/DevSettings.mjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {Map} */ -export const devSettings = new Map(); - -export function registerDevSetting(namespace, key, config) { - const visible = config.config; - config.config = false; - game.settings.register(namespace, key, config); - devSettings.set(`${namespace}.${key}`, visible); -}; diff --git a/module/utils/SubMenuSettings.mjs b/module/utils/SubMenuSettings.mjs new file mode 100644 index 0000000..77d73f9 --- /dev/null +++ b/module/utils/SubMenuSettings.mjs @@ -0,0 +1,22 @@ +/** @type {Map>} */ +export const categories = new Map(); + +export function registerCategorySetting(category, namespace, key, config) { + let cat = categories.get(category); + if (!cat) { + cat = new Map(); + categories.set(category, cat); + }; + const visible = config.config; + config.config = false; + game.settings.register(namespace, key, config); + cat.set(`${namespace}.${key}`, visible); +}; + +/** + * A helper function that registers the setting to the "dev" + * category + */ +export function registerDevSetting(namespace, key, config) { + registerCategorySetting(`dev`, namespace, key, config); +};