oft/module/settings/hotbarButtonGap.mjs

40 lines
1.1 KiB
JavaScript

import { __ID__ } from "../consts.mjs";
import { Logger } from "../utils/Logger.mjs";
import { registerCategorySetting } from "../utils/SubMenuSettings.mjs";
const key = `hotbarButtonGap`;
export function hotbarButtonGap() {
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}`);
registerCategorySetting(`hotbar`, __ID__, key, {
name: `OFT.setting.${key}.name`,
hint: `OFT.setting.${key}.hint`,
scope: `user`,
type: new foundry.data.fields.NumberField({
min: 0,
max: 16,
step: 1,
}),
default: 8,
config: true,
requiresReload: false,
onChange: (newValue) => {
document.body.style.setProperty(`--hotbar-button-gap`, `${newValue}px`);
},
});
// #endregion Registration
// #region Implementation
const buttonGap = game.settings.get(__ID__, key);
document.body.style.setProperty(`--hotbar-button-gap`, `${buttonGap}px`);
// #endregion Implementation
};