mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Fixed so that the countdown Ui positions itself well when RCT video is enabled
This commit is contained in:
parent
a146132171
commit
6973d22db6
2 changed files with 37 additions and 5 deletions
|
|
@ -85,18 +85,19 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
async _onFirstRender(context, options) {
|
||||
await super._onFirstRender(context, options);
|
||||
|
||||
if (ui.webrtc.rendered) this.toggleRctPosition();
|
||||
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)
|
||||
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);
|
||||
return values.filter(v => v.ownership !== CONST.DOCUMENT_OWNERSHIP_LEVELS.NONE);
|
||||
}
|
||||
|
||||
/** @override */
|
||||
|
|
@ -140,11 +141,28 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
toggleCollapsedPosition = async (_, collapsed) => {
|
||||
if (!this.element) return;
|
||||
|
||||
const webrtcPresent = ui.webrtc.rendered && ui.webrtc.classList.contains('right');
|
||||
if (webrtcPresent) this.element.classList.add('rctRight');
|
||||
|
||||
this.sidebarCollapsed = collapsed;
|
||||
if (!collapsed) this.element.classList.add('expanded');
|
||||
else this.element.classList.remove('expanded');
|
||||
};
|
||||
|
||||
toggleRctPosition = async data => {
|
||||
if (!this.element) return;
|
||||
|
||||
const webrtcData = data ?? ui.webrtc;
|
||||
const onTop = webrtcData.classList.contains('horizontal') && webrtcData.classList.contains('top');
|
||||
const onRight = webrtcData.classList.contains('vertical') && webrtcData.classList.contains('right');
|
||||
if (!onTop && !onRight) return;
|
||||
|
||||
if (onTop) this.element.classList.add('rctTop');
|
||||
else this.element.classList.remove('rctTop');
|
||||
if (onRight) this.element.classList.add('rctRight');
|
||||
else this.element.classList.remove('rctRight');
|
||||
};
|
||||
|
||||
cooldownRefresh = ({ refreshType }) => {
|
||||
if (refreshType === RefreshType.Countdown) this.render();
|
||||
};
|
||||
|
|
@ -201,6 +219,7 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
|
||||
setupHooks() {
|
||||
Hooks.on('collapseSidebar', this.toggleCollapsedPosition.bind());
|
||||
Hooks.on('renderCameraViews', this.toggleRctPosition.bind());
|
||||
Hooks.on(socketEvent.Refresh, this.cooldownRefresh.bind());
|
||||
}
|
||||
|
||||
|
|
@ -209,6 +228,7 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
if (options.closeKey) return;
|
||||
|
||||
Hooks.off('collapseSidebar', this.toggleCollapsedPosition);
|
||||
Hooks.off('renderCameraViews', this.toggleRctPosition);
|
||||
Hooks.off(socketEvent.Refresh, this.cooldownRefresh);
|
||||
return super.close(options);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,18 @@
|
|||
|
||||
&.expanded {
|
||||
right: calc(364px * var(--ui-scale));
|
||||
|
||||
&.rctRight {
|
||||
right: calc(664px * var(--ui-scale));
|
||||
}
|
||||
}
|
||||
|
||||
&.rctTop {
|
||||
top: calc(240px * var(--ui-scale));
|
||||
}
|
||||
|
||||
&.rctRight {
|
||||
right: calc(364px * var(--ui-scale));
|
||||
}
|
||||
|
||||
&.icon-only {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue