39 lines
1 KiB
JavaScript
39 lines
1 KiB
JavaScript
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
|
|
};
|