From 916f7ff5891919160f6bcc561f521044b51ea9f7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 28 Feb 2026 00:30:51 -0700 Subject: [PATCH] Add actor sheet that is only the attribute list --- langs/en-ca.json | 3 ++- module/apps/AttributeOnlyPlayerSheet.mjs | 17 +++++++++++++++++ module/apps/SingleModePlayerSheet.mjs | 2 ++ module/hooks/init.mjs | 6 ++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 module/apps/AttributeOnlyPlayerSheet.mjs diff --git a/langs/en-ca.json b/langs/en-ca.json index aed0380..cf664c7 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -34,7 +34,8 @@ }, "sheet-names": { "PlayerSheet": "Player Sheet", - "SingleModePlayerSheet": "Player Sheet (Always Editing)" + "SingleModePlayerSheet": "Player Sheet (Always Editing)", + "AttributeOnlyPlayerSheet": "Player Sheet (Attributes Only)" }, "misc": { "Key": "Key", diff --git a/module/apps/AttributeOnlyPlayerSheet.mjs b/module/apps/AttributeOnlyPlayerSheet.mjs new file mode 100644 index 0000000..3b811fd --- /dev/null +++ b/module/apps/AttributeOnlyPlayerSheet.mjs @@ -0,0 +1,17 @@ +import { PlayerSheet } from "./PlayerSheet.mjs"; + +export class AttributeOnlyPlayerSheet extends PlayerSheet { + // #region Options + static DEFAULT_OPTIONS = { + position: { + height: `auto`, + }, + }; + + static get PARTS() { + const parts = super.PARTS; + delete parts.content; + return parts; + }; + // #endregion Options +}; diff --git a/module/apps/SingleModePlayerSheet.mjs b/module/apps/SingleModePlayerSheet.mjs index 8c16f5c..b284463 100644 --- a/module/apps/SingleModePlayerSheet.mjs +++ b/module/apps/SingleModePlayerSheet.mjs @@ -1,8 +1,10 @@ import { PlayerSheet } from "./PlayerSheet.mjs"; export class SingleModePlayerSheet extends PlayerSheet { + // #region Data Prep async _prepareContent(ctx) { await super._prepareContent(ctx); ctx.toggled = false; }; + // #endregion Data Prep }; diff --git a/module/hooks/init.mjs b/module/hooks/init.mjs index c225bd2..6ff92f0 100644 --- a/module/hooks/init.mjs +++ b/module/hooks/init.mjs @@ -1,4 +1,5 @@ // Apps +import { AttributeOnlyPlayerSheet } from "../apps/AttributeOnlyPlayerSheet.mjs"; import { PlayerSheet } from "../apps/PlayerSheet.mjs"; import { SingleModePlayerSheet } from "../apps/SingleModePlayerSheet.mjs"; @@ -47,6 +48,11 @@ Hooks.on(`init`, () => { SingleModePlayerSheet, { label: `taf.sheet-names.SingleModePlayerSheet` }, ); + foundry.documents.collections.Actors.registerSheet( + __ID__, + AttributeOnlyPlayerSheet, + { label: `taf.sheet-names.AttributeOnlyPlayerSheet` }, + ); registerWorldSettings();