diff --git a/module/sheets/base-actor-sheet.mjs b/module/sheets/base-actor-sheet.mjs index 4703527..9ecd440 100644 --- a/module/sheets/base-actor-sheet.mjs +++ b/module/sheets/base-actor-sheet.mjs @@ -55,6 +55,7 @@ export default class VagabondActorSheet extends HandlebarsApplicationMixin(Actor closeOnSubmit: false, }, actions: { + editImage: VagabondActorSheet.#onEditImage, rollSkill: VagabondActorSheet.#onRollSkill, rollSave: VagabondActorSheet.#onRollSave, rollAttack: VagabondActorSheet.#onRollAttack, @@ -858,4 +859,24 @@ export default class VagabondActorSheet extends HandlebarsApplicationMixin(Actor await item.delete(); } + + /** + * Handle image editing via FilePicker. + * @param {PointerEvent} event + * @param {HTMLElement} target + */ + static async #onEditImage(event, target) { + event.preventDefault(); + const field = target.dataset.field || "img"; + const current = foundry.utils.getProperty(this.document, field); + + const fp = new FilePicker({ + type: "image", + current, + callback: async (path) => { + await this.document.update({ [field]: path }); + }, + }); + fp.render(true); + } } diff --git a/styles/scss/sheets/_actor-sheet.scss b/styles/scss/sheets/_actor-sheet.scss index 038c70a..bc74816 100644 --- a/styles/scss/sheets/_actor-sheet.scss +++ b/styles/scss/sheets/_actor-sheet.scss @@ -32,7 +32,7 @@ transition: opacity $transition-fast; &:hover { - opacity: 0.85; + opacity: 0.8; } } } @@ -2173,9 +2173,12 @@ border: 2px solid var(--color-border); border-radius: $radius-md; cursor: pointer; - transition: border-color $transition-fast; + transition: + border-color $transition-fast, + opacity $transition-fast; &:hover { + opacity: 0.8; border-color: var(--color-accent-primary); } } diff --git a/templates/actor/character-header.hbs b/templates/actor/character-header.hbs index b096533..a204d87 100644 --- a/templates/actor/character-header.hbs +++ b/templates/actor/character-header.hbs @@ -3,7 +3,7 @@
{{actor.name}} + data-action="editImage" data-field="img" data-tooltip="VAGABOND.ChangePortrait" />
diff --git a/templates/actor/npc-header.hbs b/templates/actor/npc-header.hbs index a5e7a95..d791db2 100644 --- a/templates/actor/npc-header.hbs +++ b/templates/actor/npc-header.hbs @@ -3,7 +3,7 @@
{{actor.name}} + data-action="editImage" data-field="img" data-tooltip="VAGABOND.ChangePortrait" />