Move the magic string into an enum

This commit is contained in:
Oliver-Akins 2025-04-05 15:31:28 -06:00
parent 95443d3709
commit bfddf855a4
4 changed files with 15 additions and 5 deletions

View file

@ -3,6 +3,7 @@ import { documentSorter, filePath } from "../../consts.mjs";
import { AmmoTracker } from "../popovers/AmmoTracker.mjs";
import { gameTerms } from "../../gameTerms.mjs";
import { GenericAppMixin } from "../GenericApp.mjs";
import { ItemFlags } from "../../flags/item.mjs";
import { localizer } from "../../utils/Localizer.mjs";
import { Logger } from "../../utils/Logger.mjs";
import { PopoverEventManager } from "../../utils/PopoverEventManager.mjs";
@ -142,7 +143,7 @@ export class HeroSkillsCardV1 extends GenericAppMixin(HandlebarsApplicationMixin
for (const ammo of ctx.actor.itemTypes.ammo) {
total += ammo.system.quantity;
if (favouriteCount < 3 && ammo.getFlag(game.system.id, `favourited`)) {
if (favouriteCount < 3 && ammo.getFlag(game.system.id, ItemFlags.FAVOURITE)) {
ctx.favouriteAmmo[favouriteCount] = {
uuid: ammo.uuid,
name: ammo.name,

View file

@ -1,5 +1,6 @@
import { filePath } from "../../consts.mjs";
import { GenericPopoverMixin } from "./GenericPopoverMixin.mjs";
import { ItemFlags } from "../../flags/item.mjs";
import { localizer } from "../../utils/Localizer.mjs";
import { Logger } from "../../utils/Logger.mjs";
@ -40,7 +41,7 @@ export class AmmoTracker extends GenericPopoverMixin(HandlebarsApplicationMixin(
let favouriteCount = 0;
ctx.ammos = data.ammos.map(ammo => {
const favourite = ammo.getFlag(game.system.id, `favourited`) ?? false;
const favourite = ammo.getFlag(game.system.id, ItemFlags.FAVOURITE) ?? false;
if (favourite) { favouriteCount++ };
return {
@ -73,7 +74,7 @@ export class AmmoTracker extends GenericPopoverMixin(HandlebarsApplicationMixin(
const item = await fromUuid(data.itemId);
if (!item) { return };
item.setFlag(game.system.id, `favourited`, true);
item.setFlag(game.system.id, ItemFlags.FAVOURITE, true);
};
static async #unfavourite(_, el) {
@ -87,7 +88,7 @@ export class AmmoTracker extends GenericPopoverMixin(HandlebarsApplicationMixin(
const item = await fromUuid(data.itemId);
if (!item) { return };
item.unsetFlag(game.system.id, `favourited`);
item.unsetFlag(game.system.id, ItemFlags.FAVOURITE);
};
// #endregion
};

View file

@ -1,4 +1,5 @@
// App imports
import { AmmoTracker } from "./Apps/popovers/AmmoTracker.mjs";
import { CombinedHeroSheet } from "./Apps/ActorSheets/CombinedHeroSheet.mjs";
import { DicePool } from "./Apps/DicePool.mjs";
import { HeroSkillsCardV1 } from "./Apps/ActorSheets/HeroSkillsCardV1.mjs";
@ -9,7 +10,9 @@ import { RichEditor } from "./Apps/RichEditor.mjs";
import { distanceBetweenFates, nextFate, previousFate } from "./utils/fates.mjs";
import { documentSorter } from "./consts.mjs";
import { rankToInteger } from "./utils/rank.mjs";
import { AmmoTracker } from "./Apps/popovers/AmmoTracker.mjs";
// Misc Imports
import { ItemFlags } from "./flags/item.mjs";
const { deepFreeze } = foundry.utils;
@ -33,6 +36,7 @@ Object.defineProperty(
previousFate,
rankToInteger,
},
ItemFlags,
}),
writable: false,
},

4
module/flags/item.mjs Normal file
View file

@ -0,0 +1,4 @@
export const ItemFlags = Object.freeze({
/** The boolean value to indicate if an item is considered favourited/starred or not */
FAVOURITE: `favourited`,
});