Add hotbar settings (reposition, button size/gap)

This commit is contained in:
Oliver 2025-12-07 13:16:51 -07:00
parent 4dc7b8541f
commit 27c5fccba0
9 changed files with 177 additions and 8 deletions

View file

@ -0,0 +1,39 @@
import { __ID } from "../consts.mjs";
import { Logger } from "../utils/Logger.mjs";
const key = `hotbarButtonSize`;
export function hotbarButtonSize() {
const prevented = Hooks.call(`${__ID}.preventSetting`, key);
if (!prevented) {
Logger.log(`Preventing setting "${key}" from being registered`);
return;
};
// #region Registration
Logger.log(`Registering setting: ${key}`);
document.body.classList.add(`${__ID}-${key}`);
game.settings.register(__ID, key, {
name: `OFT.setting.${key}.name`,
hint: `OFT.setting.${key}.hint`,
scope: `user`,
type: new foundry.data.fields.NumberField({
min: 45,
max: 75,
step: 5,
}),
default: 60, // this is the value Foundry uses
config: true,
requiresReload: false,
onChange: (newValue) => {
document.body.style.setProperty(`--hotbar-size`, `${newValue}px`);
},
});
// #endregion Registration
// #region Implementation
const hotbarSize = game.settings.get(__ID, key);
document.body.style.setProperty(`--hotbar-size`, `${hotbarSize}px`);
// #endregion Implementation
};