Sidebar buttons

This commit is contained in:
Dapoolp 2025-08-27 11:08:13 +02:00
parent 41c5ff819c
commit d6e1df27a9
2 changed files with 44 additions and 0 deletions

View file

@ -305,3 +305,6 @@ Hooks.on('moveToken', async (movedToken, data) => {
await effect.value.update({ disabled: effect.disabled });
}
});
Hooks.on("renderCompendiumDirectory", (app, html) => applications.ui.ItemBrowser.injectSidebarButton(html));
Hooks.on("renderDocumentDirectory", (app, html) => applications.ui.ItemBrowser.injectSidebarButton(html));

View file

@ -472,4 +472,45 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
_canDragStart() {
return true;
}
static injectSidebarButton(html) {
if(!game.user.isGM) return;
const sectionId = html.dataset.tab,
basePresets = {
compendium: 'daggerheart'
},
menus = {
actors: {
...basePresets,
folder: "adversaries",
render: {
folders: ["adversaries", "environments"]
}
},
items: {
...basePresets,
folder: "equipments",
render: {
noFolder: true
}
},
compendium: {}
};
if(Object.keys(menus).includes(sectionId)) {
const headerActions = html.querySelector(".header-actions");
const button = document.createElement("button");
button.type = "button";
button.classList.add("open-compendium-browser");
button.innerHTML = `
<i class="fa-solid fa-book-atlas"></i>
${game.i18n.localize("DAGGERHEART.UI.Tooltip.compendiumBrowser")}
`;
// button.addEventListener("click", event => (new ItemBrowser({ presets: menus[sectionId] })).render({ force: true }));
button.addEventListener("click", event => ui.compendiumBrowser?.render({ force: true, presets: menus[sectionId] }));
headerActions.append(button);
}
}
}