Hide empty sub-menus from Foundry's settings app

This commit is contained in:
Oliver 2025-12-26 00:43:53 -07:00
parent 00af9286d4
commit 9c19306cc1
4 changed files with 16 additions and 2 deletions

View file

@ -6,11 +6,19 @@ prevent it from being as attention-grabbing compared to being at the top of the
list.
*/
Hooks.on(`renderSettingsConfig`, (app) => {
// MARK: Hide empty menus
for (const [key, config] of game.settings.menus) {
if (!key.startsWith(__ID__)) { continue };
if (config.type.isEmpty) {
const entry = app.element.querySelector(`.form-group:has(button[data-key="${key}"])`);
entry?.remove();
};
};
// MARK: devSettings Menu
/** @type {Node | undefined} */
const settingList = app.element.querySelector(`.tab[data-group="categories"][data-tab="oft"]`);
// MARK: devSettings Menu
/** @type {Node | undefined} */
const devSettingsMenu = app.element.querySelector(`.form-group:has(button[data-key="${__ID__}.devSettings"])`);
if (settingList && devSettingsMenu) {