diff --git a/Apps/CryptApp/main.hbs b/Apps/CryptApp/main.hbs new file mode 100644 index 0000000..80f0024 --- /dev/null +++ b/Apps/CryptApp/main.hbs @@ -0,0 +1,3 @@ +
+ Hello +
\ No newline at end of file diff --git a/module/Apps/CryptApp.mjs b/module/Apps/CryptApp.mjs new file mode 100644 index 0000000..09b2cf8 --- /dev/null +++ b/module/Apps/CryptApp.mjs @@ -0,0 +1,43 @@ +import { filePath } from "../consts.mjs"; +import { GenericAppMixin } from "./GenericApp.mjs"; +import { Logger } from "../utils/Logger.mjs"; + +const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; + +export class CryptApp extends GenericAppMixin(HandlebarsApplicationMixin(ApplicationV2)) { + // #region Options + static DEFAULT_OPTIONS = { + window: { + title: `Crypt Overview`, + frame: true, + positioned: true, + resizable: false, + minimizable: true, + }, + actions: {}, + }; + + static PARTS = { + main: { + template: filePath(`Apps/CryptApp/main.hbs`), + }, + }; + // #endregion + + // #region Lifecycle + async _renderFrame(options) { + const frame = await super._renderFrame(options); + this.window.close.remove(); // Prevent closing + return frame; + } + + async _preparePartContext(partId, ctx, opts) { + ctx = await super._preparePartContext(partId, ctx, opts); + Logger.log(`Context`, ctx); + return ctx; + }; + // #endregion + + // #region Actions + // #endregion +}; diff --git a/module/hooks/ready.mjs b/module/hooks/ready.mjs index 0f69cef..6536a48 100644 --- a/module/hooks/ready.mjs +++ b/module/hooks/ready.mjs @@ -1,3 +1,4 @@ +import { CryptApp } from "../Apps/CryptApp.mjs"; import { Logger } from "../utils/Logger.mjs"; Hooks.once(`ready`, () => { @@ -17,4 +18,7 @@ Hooks.once(`ready`, () => { ui.sidebar.expand(); if (game.paused) { game.togglePause() }; }; + + CONFIG.ui.crypt = new CryptApp(); + CONFIG.ui.crypt.render({ force: true }); });