dragonroll/plugins/dnd-5e/client/main.js
BinarySandia04 2753bb4331
Some checks failed
test / run-tests-client (push) Successful in 52s
test / run-tests-backend (push) Failing after 18s
More docs and better module data params
2024-10-15 11:01:51 +02:00

82 lines
2.4 KiB
JavaScript

import { FetchData, InitData } from "./data";
// Entrypoint
let Api;
let dndModule;
function Main(api){
Api = api
console.log("Module registered!");
dndModule = Api.createModule('dnd-5e');
dndModule.setData({
title: "Dungeons & Dragons 5e",
description: "Dungeons & Dragons Fifth edition game system support",
version: "0.1",
color: "#e92026",
authors: [{
name: "Aran Roig",
webpage: "aranroig.com"
}],
icon: "icon.png"
});
let databaseWindow = Api.registerWindow('database', Api.createView('Database'));
let actorsWindow = Api.registerWindow('actors', Api.createView('Actors'));
let characterSheetWindow = Api.registerWindow('character_sheet', Api.createView('CharacterSheet'));
let itemSheetWindow = Api.registerWindow('item_sheet', Api.createView('ItemSheet'));
let createItemPromptWindow = Api.registerWindow('create_item_prompt', Api.createView('CreateItemPrompt'));
/*
dndModule.setCharacterSheet(Api.createView('CharacterSheet'));
dndModule.setItemSheet(Api.createView('ItemSheet'));
dndModule.setItemPrompt(Api.createView('CreateItemPrompt'));
*/
dndModule.setButtons({
right: [
{
id: 'database-button',
icon: '/icons/iconoir/regular/bookmark-book.svg',
action: () => {
Api.createWindow(databaseWindow, {
title: "Database",
id: databaseWindow,
close: () => Api.clearWindow(databaseWindow)
});
}
}, {
id: 'group-button',
icon: '/icons/iconoir/regular/group.svg',
action: () => {
Api.createWindow(actorsWindow, {
title: "Actors",
id: actorsWindow,
close: () => Api.clearWindow(actorsWindow)
});
}
}]
});
// Api.windows.registerWindow('character_sheet', Api.createView('CharacterSheet'));
// Api.windows.registerWindow('item_sheet', Api.createView('ItemSheet'));
// Api.windows.registerWindow('create_item_prompt', Api.createView('CreateItemPrompt'));
dndModule.onInit = () => {
InitData();
FetchData();
}
Api.registerModule(dndModule);
}
export {
Main,
Api,
dndModule
};