mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Hide countdown panel for players when empty (#1286)
This commit is contained in:
parent
ef0290ae8a
commit
bdbca0d35a
1 changed files with 17 additions and 5 deletions
|
|
@ -88,6 +88,17 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
||||||
this.toggleCollapsedPosition(undefined, !ui.sidebar.expanded);
|
this.toggleCollapsedPosition(undefined, !ui.sidebar.expanded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns countdown data filtered by ownership */
|
||||||
|
#getCountdowns() {
|
||||||
|
const setting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns);
|
||||||
|
const values = Object.entries(setting.countdowns).map(([key, countdown]) => ({
|
||||||
|
key,
|
||||||
|
countdown,
|
||||||
|
ownership: DhCountdowns.#getPlayerOwnership(game.user, setting, countdown)
|
||||||
|
}));
|
||||||
|
return values.filter((v) => v.ownership !== CONST.DOCUMENT_OWNERSHIP_LEVELS.NONE);
|
||||||
|
}
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
async _prepareContext(options) {
|
async _prepareContext(options) {
|
||||||
const context = await super._prepareContext(options);
|
const context = await super._prepareContext(options);
|
||||||
|
|
@ -98,11 +109,7 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
||||||
CONFIG.DH.GENERAL.countdownAppMode.iconOnly;
|
CONFIG.DH.GENERAL.countdownAppMode.iconOnly;
|
||||||
|
|
||||||
const setting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns);
|
const setting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns);
|
||||||
context.countdowns = Object.keys(setting.countdowns).reduce((acc, key) => {
|
context.countdowns = this.#getCountdowns().reduce((acc, { key, countdown, ownership }) => {
|
||||||
const countdown = setting.countdowns[key];
|
|
||||||
const ownership = DhCountdowns.#getPlayerOwnership(game.user, setting, countdown);
|
|
||||||
if (ownership === CONST.DOCUMENT_OWNERSHIP_LEVELS.NONE) return acc;
|
|
||||||
|
|
||||||
const playersWithAccess = game.users.reduce((acc, user) => {
|
const playersWithAccess = game.users.reduce((acc, user) => {
|
||||||
const ownership = DhCountdowns.#getPlayerOwnership(user, setting, countdown);
|
const ownership = DhCountdowns.#getPlayerOwnership(user, setting, countdown);
|
||||||
if (!user.isGM && ownership && ownership !== CONST.DOCUMENT_OWNERSHIP_LEVELS.NONE) {
|
if (!user.isGM && ownership && ownership !== CONST.DOCUMENT_OWNERSHIP_LEVELS.NONE) {
|
||||||
|
|
@ -238,4 +245,9 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
||||||
});
|
});
|
||||||
Hooks.callAll(socketEvent.Refresh, data);
|
Hooks.callAll(socketEvent.Refresh, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async _onRender(context, options) {
|
||||||
|
await super._onRender(context, options);
|
||||||
|
this.element.hidden = !game.user.isGM && this.#getCountdowns().length === 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue