[Fix] Countdown UI Initial Position (#1267)

* .

* Fixed so countdown ui respects foundry UiScale

* Raised system version
This commit is contained in:
WBHarry 2025-11-11 22:13:24 +01:00 committed by GitHub
parent 84ef1063d8
commit 7c4200b431
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 17 additions and 5 deletions

View file

@ -81,6 +81,13 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
return frame; return frame;
} }
/**@inheritdoc */
async _onFirstRender(context, options) {
await super._onFirstRender(context, options);
this.toggleCollapsedPosition(undefined, !ui.sidebar.expanded);
}
/** @override */ /** @override */
async _prepareContext(options) { async _prepareContext(options) {
const context = await super._prepareContext(options); const context = await super._prepareContext(options);
@ -124,6 +131,8 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
} }
toggleCollapsedPosition = async (_, collapsed) => { toggleCollapsedPosition = async (_, collapsed) => {
if (!this.element) return;
this.sidebarCollapsed = collapsed; this.sidebarCollapsed = collapsed;
if (!collapsed) this.element.classList.add('expanded'); if (!collapsed) this.element.classList.add('expanded');
else this.element.classList.remove('expanded'); else this.element.classList.remove('expanded');
@ -188,10 +197,13 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
Hooks.on(socketEvent.Refresh, this.cooldownRefresh.bind()); Hooks.on(socketEvent.Refresh, this.cooldownRefresh.bind());
} }
close(options) { async close(options) {
/* Opt out of Foundry's standard behavior of closing all application windows marked as UI when Escape is pressed */
if (options.closeKey) return;
Hooks.off('collapseSidebar', this.toggleCollapsedPosition); Hooks.off('collapseSidebar', this.toggleCollapsedPosition);
Hooks.off(socketEvent.Refresh, this.cooldownRefresh); Hooks.off(socketEvent.Refresh, this.cooldownRefresh);
super.close(options); return super.close(options);
} }
static async updateCountdowns(progressType) { static async updateCountdowns(progressType) {

View file

@ -18,7 +18,7 @@
box-shadow: none; box-shadow: none;
width: 300px; width: 300px;
top: 16px; top: 16px;
right: 64px; right: calc(64px * var(--ui-scale));
transition: transition:
right ease 250ms, right ease 250ms,
opacity var(--ui-fade-duration) ease, opacity var(--ui-fade-duration) ease,
@ -29,7 +29,7 @@
} }
&.expanded { &.expanded {
right: 364px; right: calc(364px * var(--ui-scale));
} }
&.icon-only { &.icon-only {

View file

@ -2,7 +2,7 @@
"id": "daggerheart", "id": "daggerheart",
"title": "Daggerheart", "title": "Daggerheart",
"description": "An unofficial implementation of the Daggerheart system", "description": "An unofficial implementation of the Daggerheart system",
"version": "1.2.0", "version": "1.2.1",
"compatibility": { "compatibility": {
"minimum": "13", "minimum": "13",
"verified": "13.350", "verified": "13.350",