import { __ID } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; const key = `startingSidebarTab`; export function startingSidebarTab() { Logger.log(`Registering setting: ${key}`); // #region Registration game.settings.register(__ID, key, { name: `OFT.setting.${key}.name`, hint: `OFT.setting.${key}.hint`, type: new foundry.data.fields.StringField({ blank: true, nullable: false, required: true, choices: () => { const tabs = Object.entries(CONFIG.ui.sidebar.TABS); const tabChoices = { "": `OFT.setting.${key}.choices.blank`, }; for (const [id, data] of tabs) { let { documentName, gmOnly, tooltip: name } = data; if (gmOnly && !game.user.isGM) { continue }; if (documentName) { name ??= foundry.utils.getDocumentClass(documentName).metadata.labelPlural; }; tabChoices[id] = name; }; return tabChoices; }, }), config: true, requiresReload: false, }); // #endregion Registration // #region Implementation Hooks.once(`ready`, () => { const defaultTab = game.settings.get(__ID, key); if (defaultTab) { Logger.debug(`Changing tab to:`, defaultTab); ui.sidebar.changeTab(defaultTab, `primary`); }; }); // #endregion Implementation };