From abc2fe76ffc36e1170fc3e84db2c85f4bd61f9e0 Mon Sep 17 00:00:00 2001 From: Chris Ryan Date: Wed, 20 Aug 2025 22:54:20 +1000 Subject: [PATCH] Better initialisation of PARTS and TABS --- .../scene/sceneConfigSettings.mjs | 49 +++++++------------ 1 file changed, 17 insertions(+), 32 deletions(-) diff --git a/module/applications/scene/sceneConfigSettings.mjs b/module/applications/scene/sceneConfigSettings.mjs index f4093e92..2ad7421a 100644 --- a/module/applications/scene/sceneConfigSettings.mjs +++ b/module/applications/scene/sceneConfigSettings.mjs @@ -3,38 +3,23 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S super(options, ...args); } - /** @override */ - static PARTS = { - tabs: { template: "templates/generic/tab-navigation.hbs" }, - basics: { template: "templates/scene/config/basics.hbs" }, - grid: { template: "templates/scene/config/grid.hbs" }, - lighting: { template: "templates/scene/config/lighting.hbs", scrollable: [""] }, - ambience: { template: "templates/scene/config/ambience.hbs", scrollable: ["div.tab[data-tab=environment]"] }, - dh: { template: "systems/daggerheart/templates/scene/dh-config.hbs" }, - footer: { template: "templates/generic/form-footer.hbs" } - }; - - /** @override */ - static TABS = { - sheet: { - tabs: [ - { id: "basics", icon: "fa-solid fa-image" }, - { id: "grid", icon: "fa-solid fa-grid" }, - { id: "lighting", icon: "fa-solid fa-lightbulb" }, - { id: "ambience", icon: "fa-solid fa-cloud-sun" }, - { id: "dh", icon: "fa-solid" } - ], - initial: "basics", - labelPrefix: "SCENE.TABS.SHEET" - }, - ambience: { - tabs: [ - { id: "basic", icon: "fa-solid fa-table-list" }, - { id: "environment", icon: "fa-solid fa-cloud-sun" } - ], - initial: "basic", - labelPrefix: "SCENE.TABS.AMBIENCE" + static buildParts() { + const { footer, ...parts } = super.PARTS; + const tmpParts = { + ...parts, + dh: { template: "systems/daggerheart/templates/scene/dh-config.hbs" }, + footer } - }; + return tmpParts; + } + + static PARTS = DhSceneConfigSettings.buildParts(); + + static buildTabs() { + super.TABS.sheet.tabs.push({ id: "dh", icon: "fa-solid" }); + return super.TABS; + } + + static TABS = DhSceneConfigSettings.buildTabs(); } \ No newline at end of file