oft/module/settings/repositionHotbar.mjs

46 lines
1.4 KiB
JavaScript

import { __ID__ } from "../consts.mjs";
import { Logger } from "../utils/Logger.mjs";
import { registerCategorySetting } from "../utils/SubMenuSettings.mjs";
const key = `repositionHotbar`;
export function repositionHotbar() {
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}`);
registerCategorySetting(`hotbar`, __ID__, key, {
name: `OFT.setting.${key}.name`,
hint: `OFT.setting.${key}.hint`,
scope: `user`,
type: Boolean,
default: true,
config: true,
requiresReload: true,
});
// #endregion Registration
// #region Implementation
if (game.settings.get(__ID__, key)) {
Logger.debug(`setting:${key} | Repositioning hotbar`);
document.body.classList.add(`oft-${key}`);
const container = document.createElement(`div`);
container.id = `oft-repositionHotbar-container`;
const playersPlaceholder = document.getElementById(`players`);
const hotbarPlaceholder = document.getElementById(`hotbar`);
container.insertAdjacentElement(`afterbegin`, hotbarPlaceholder);
container.insertAdjacentElement(`afterbegin`, playersPlaceholder);
const uiPosition = document.getElementById(`ui-left-column-1`);
uiPosition.insertAdjacentElement(`beforeend`, container);
};
// #endregion Implementation
};