diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs
index 9c3e1369..3b029771 100644
--- a/module/applications/sheets/actors/character.mjs
+++ b/module/applications/sheets/actors/character.mjs
@@ -323,11 +323,11 @@ export default class CharacterSheet extends DHBaseActorSheet {
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
const options = [
{
- name: 'toLoadout',
+ label: 'toLoadout',
icon: 'fa-solid fa-arrow-up',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
- return doc && doc.system.inVault;
+ return doc?.isOwner && doc.system.inVault;
},
callback: async target => {
const doc = await getDocFromElement(target);
@@ -337,11 +337,11 @@ export default class CharacterSheet extends DHBaseActorSheet {
}
},
{
- name: 'recall',
+ label: 'recall',
icon: 'fa-solid fa-bolt-lightning',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
- return doc && doc.system.inVault;
+ return doc?.isOwner && doc.system.inVault;
},
callback: async (target, event) => {
const doc = await getDocFromElement(target);
@@ -376,17 +376,17 @@ export default class CharacterSheet extends DHBaseActorSheet {
}
},
{
- name: 'toVault',
+ label: 'toVault',
icon: 'fa-solid fa-arrow-down',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
- return doc && !doc.system.inVault;
+ return doc?.isOwner && !doc.system.inVault;
},
callback: async target => (await getDocFromElement(target)).update({ 'system.inVault': true })
}
].map(option => ({
...option,
- name: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.name}`,
+ label: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.label}`,
icon: ``
}));
@@ -402,18 +402,18 @@ export default class CharacterSheet extends DHBaseActorSheet {
static #getEquipmentContextOptions() {
const options = [
{
- name: 'equip',
+ label: 'equip',
icon: 'fa-solid fa-hands',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
return doc.isOwner && doc && !doc.system.equipped;
},
callback: (target, event) => CharacterSheet.#toggleEquipItem.call(this, event, target)
},
{
- name: 'unequip',
+ label: 'unequip',
icon: 'fa-solid fa-hands',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
return doc.isOwner && doc && doc.system.equipped;
},
@@ -421,7 +421,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
}
].map(option => ({
...option,
- name: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.name}`,
+ label: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.label}`,
icon: ``
}));
diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs
index b92b98dd..e0110ae3 100644
--- a/module/applications/sheets/api/application-mixin.mjs
+++ b/module/applications/sheets/api/application-mixin.mjs
@@ -418,18 +418,18 @@ export default function DHApplicationMixin(Base) {
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
const options = [
{
- name: 'disableEffect',
+ label: 'disableEffect',
icon: 'fa-solid fa-lightbulb',
- condition: element => {
+ visible: element => {
const target = element.closest('[data-item-uuid]');
return !target.dataset.disabled && target.dataset.itemType !== 'beastform';
},
callback: async target => (await getDocFromElement(target)).update({ disabled: true })
},
{
- name: 'enableEffect',
+ label: 'enableEffect',
icon: 'fa-regular fa-lightbulb',
- condition: element => {
+ visible: element => {
const target = element.closest('[data-item-uuid]');
return target.dataset.disabled && target.dataset.itemType !== 'beastform';
},
@@ -437,7 +437,7 @@ export default function DHApplicationMixin(Base) {
}
].map(option => ({
...option,
- name: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.name}`,
+ label: `DAGGERHEART.APPLICATIONS.ContextMenu.${option.label}`,
icon: ``
}));
@@ -468,9 +468,9 @@ export default function DHApplicationMixin(Base) {
_getContextMenuCommonOptions({ usable = false, toChat = false, deletable = true }) {
const options = [
{
- name: 'CONTROLS.CommonEdit',
+ label: 'CONTROLS.CommonEdit',
icon: 'fa-solid fa-pen-to-square',
- condition: target => {
+ visible: target => {
const { dataset } = target.closest('[data-item-uuid]');
const doc = getDocFromElementSync(target);
return (
@@ -484,9 +484,9 @@ export default function DHApplicationMixin(Base) {
if (usable) {
options.unshift({
- name: 'DAGGERHEART.GENERAL.damage',
+ label: 'DAGGERHEART.GENERAL.damage',
icon: 'fa-solid fa-explosion',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
return (
doc?.isOwner &&
@@ -508,9 +508,9 @@ export default function DHApplicationMixin(Base) {
});
options.unshift({
- name: 'DAGGERHEART.APPLICATIONS.ContextMenu.useItem',
+ label: 'DAGGERHEART.APPLICATIONS.ContextMenu.useItem',
icon: 'fa-solid fa-burst',
- condition: target => {
+ visible: target => {
const doc = getDocFromElementSync(target);
return doc?.isOwner && !(doc.type === 'domainCard' && doc.system.inVault);
},
@@ -520,16 +520,16 @@ export default function DHApplicationMixin(Base) {
if (toChat)
options.push({
- name: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
+ label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
icon: 'fa-solid fa-message',
callback: async target => (await getDocFromElement(target)).toChat(this.document.uuid)
});
if (deletable)
options.push({
- name: 'CONTROLS.CommonDelete',
+ label: 'CONTROLS.CommonDelete',
icon: 'fa-solid fa-trash',
- condition: element => {
+ visible: element => {
const target = element.closest('[data-item-uuid]');
const doc = getDocFromElementSync(target);
return doc?.isOwner && target.dataset.itemType !== 'beastform';
diff --git a/module/applications/sidebar/tabs/actorDirectory.mjs b/module/applications/sidebar/tabs/actorDirectory.mjs
index 1306de61..89da1426 100644
--- a/module/applications/sidebar/tabs/actorDirectory.mjs
+++ b/module/applications/sidebar/tabs/actorDirectory.mjs
@@ -48,9 +48,9 @@ export default class DhActorDirectory extends foundry.applications.sidebar.tabs.
const options = super._getEntryContextOptions();
options.push(
{
- name: 'DAGGERHEART.UI.Sidebar.actorDirectory.duplicateToNewTier',
+ label: 'DAGGERHEART.UI.Sidebar.actorDirectory.duplicateToNewTier',
icon: ``,
- condition: li => {
+ visible: li => {
const actor = game.actors.get(li.dataset.entryId);
return actor?.type === 'adversary' && actor.system.type !== 'social';
},
@@ -92,9 +92,9 @@ export default class DhActorDirectory extends foundry.applications.sidebar.tabs.
}
},
{
- name: 'DAGGERHEART.UI.Sidebar.actorDirectory.activateParty',
+ label: 'DAGGERHEART.UI.Sidebar.actorDirectory.activateParty',
icon: ``,
- condition: li => {
+ visible: li => {
const actor = game.actors.get(li.dataset.entryId);
return actor && actor.type === 'party' && !actor.system.active;
},
diff --git a/module/applications/ui/chatLog.mjs b/module/applications/ui/chatLog.mjs
index 59939963..34b25591 100644
--- a/module/applications/ui/chatLog.mjs
+++ b/module/applications/ui/chatLog.mjs
@@ -103,23 +103,10 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
_getEntryContextOptions() {
return [
...super._getEntryContextOptions(),
- // {
- // name: 'Reroll',
- // icon: '',
- // condition: li => {
- // const message = game.messages.get(li.dataset.messageId);
-
- // return (game.user.isGM || message.isAuthor) && message.rolls.length > 0;
- // },
- // callback: li => {
- // const message = game.messages.get(li.dataset.messageId);
- // new game.system.api.applications.dialogs.RerollDialog(message).render({ force: true });
- // }
- // },
{
- name: game.i18n.localize('DAGGERHEART.UI.ChatLog.rerollDamage'),
+ label: 'DAGGERHEART.UI.ChatLog.rerollDamage',
icon: '',
- condition: li => {
+ visible: li => {
const message = game.messages.get(li.dataset.messageId);
const hasRolledDamage = message.system.hasDamage
? Object.keys(message.system.damage).length > 0
diff --git a/module/applications/ui/combatTracker.mjs b/module/applications/ui/combatTracker.mjs
index 1043e128..fb19a17e 100644
--- a/module/applications/ui/combatTracker.mjs
+++ b/module/applications/ui/combatTracker.mjs
@@ -84,15 +84,15 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
_getCombatContextOptions() {
return [
{
- name: 'COMBAT.ClearMovementHistories',
+ label: 'COMBAT.ClearMovementHistories',
icon: '',
- condition: () => game.user.isGM && this.viewed?.combatants.size > 0,
+ visible: () => game.user.isGM && this.viewed?.combatants.size > 0,
callback: () => this.viewed.clearMovementHistories()
},
{
- name: 'COMBAT.Delete',
+ label: 'COMBAT.Delete',
icon: '',
- condition: () => game.user.isGM && !!this.viewed,
+ visible: () => game.user.isGM && !!this.viewed,
callback: () => this.viewed.endCombat()
}
];