Hooks.on("render" + "Sidebar", (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "sidebar"; }); Hooks.on("render" + "SceneControls", (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "controls"; }); Hooks.on("render" + "SceneNavigation", (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "navigation"; }); Hooks.on("render" + "Hotbar", (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "hotbar"; }); Hooks.on("render" + "EffectsPanel", (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "effects"; }); for (const appName of ["PlayerList", "SmallTimeApp"]) { Hooks.on("render" + appName, (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "players"; }); } for (const appName of ["TokenHUD", "TileHUD"]) { Hooks.on("render" + appName, (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "placeable-hud"; }); } for (const appName of ["PlaylistDirectory"]) { Hooks.on("render" + appName, (app, html, data) => { if (isExcluded(app)) return; app.element[0].dataset.dorakoUiScope = "unlimited"; }); } function isExcluded(app) { const excludeString = game.settings.get("pf2e-dorako-ui", "customization.excluded-applications"); const excludeList = excludeString.split(/[\s,]+/); if (excludeList.includes(app.constructor.name)) { console.debug(`${MODULE_NAME} | render${app.constructor.name} | is included in excluded applications string`); return true; } return false; }