mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
73 lines
2 KiB
JavaScript
73 lines
2 KiB
JavaScript
export default class DhSidebar extends foundry.applications.sidebar.Sidebar {
|
|
/** @override */
|
|
static TABS = {
|
|
chat: {
|
|
documentName: 'ChatMessage'
|
|
},
|
|
combat: {
|
|
documentName: 'Combat'
|
|
},
|
|
scenes: {
|
|
documentName: 'Scene',
|
|
gmOnly: true
|
|
},
|
|
actors: {
|
|
documentName: 'Actor'
|
|
},
|
|
items: {
|
|
documentName: 'Item'
|
|
},
|
|
journal: {
|
|
documentName: 'JournalEntry',
|
|
tooltip: 'SIDEBAR.TabJournal'
|
|
},
|
|
tables: {
|
|
documentName: 'RollTable'
|
|
},
|
|
cards: {
|
|
documentName: 'Cards'
|
|
},
|
|
macros: {
|
|
documentName: 'Macro'
|
|
},
|
|
playlists: {
|
|
documentName: 'Playlist'
|
|
},
|
|
compendium: {
|
|
tooltip: 'SIDEBAR.TabCompendium',
|
|
icon: 'fa-solid fa-book-atlas'
|
|
},
|
|
daggerheartMenu: {
|
|
tooltip: 'DAGGERHEART.UI.Sidebar.daggerheartMenu.title',
|
|
img: 'systems/daggerheart/assets/logos/FoundryBorneLogoWhite.svg',
|
|
gmOnly: true
|
|
},
|
|
settings: {
|
|
tooltip: 'SIDEBAR.TabSettings',
|
|
icon: 'fa-solid fa-gears'
|
|
}
|
|
};
|
|
|
|
/** @override */
|
|
static PARTS = {
|
|
tabs: {
|
|
id: 'tabs',
|
|
template: 'systems/daggerheart/templates/sidebar/tabs.hbs'
|
|
}
|
|
};
|
|
|
|
/** @override */
|
|
async _prepareTabContext(context, options) {
|
|
context.tabs = Object.entries(this.constructor.TABS).reduce((obj, [k, v]) => {
|
|
let { documentName, gmOnly, tooltip, icon, img } = v;
|
|
if (gmOnly && !game.user.isGM) return obj;
|
|
if (documentName) {
|
|
tooltip ??= getDocumentClass(documentName).metadata.labelPlural;
|
|
icon ??= CONFIG[documentName]?.sidebarIcon;
|
|
}
|
|
obj[k] = { tooltip, icon, img };
|
|
obj[k].active = this.tabGroups.primary === k;
|
|
return obj;
|
|
}, {});
|
|
}
|
|
}
|