diff --git a/module/applications/sheets/character.mjs b/module/applications/sheets/character.mjs index cfc13082..7b8f1c04 100644 --- a/module/applications/sheets/character.mjs +++ b/module/applications/sheets/character.mjs @@ -293,7 +293,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) { top: loadout.slice(0, Math.min(2, nrLoadoutCards)), bottom: nrLoadoutCards > 2 ? loadout.slice(2, Math.min(5, nrLoadoutCards)) : [], nrTotal: nrLoadoutCards, - listView: this.document.system.layout.listView + listView: game.user.getFlag(SYSTEM.id, SYSTEM.FLAGS.displayDomainCardsAsList) }, vault: vault.map(x => ({ ...x, @@ -450,8 +450,9 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) { } static async toggleLoadoutView(_, button) { - const listView = !(button.dataset.value === 'true'); - await this.document.update({ 'system.layout.listView': listView }); + const newAbilityView = !(button.dataset.value === 'true'); + await game.user.setFlag(SYSTEM.id, SYSTEM.FLAGS.displayDomainCardsAsList, newAbilityView); + this.render(); } static async attackRoll(event, button) { diff --git a/module/config/flagsConfig.mjs b/module/config/flagsConfig.mjs new file mode 100644 index 00000000..b06a36e1 --- /dev/null +++ b/module/config/flagsConfig.mjs @@ -0,0 +1 @@ +export const displayDomainCardsAsList = 'displayDomainCardsAsList'; diff --git a/module/config/system.mjs b/module/config/system.mjs index 41d67154..6ad0e689 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -6,6 +6,7 @@ import * as SETTINGS from './settingsConfig.mjs'; import { hooks as HOOKS } from './hooksConfig.mjs'; import * as EFFECTS from './effectConfig.mjs'; import * as ACTIONS from './actionConfig.mjs'; +import * as FLAGS from './flagsConfig.mjs'; export const SYSTEM_ID = 'daggerheart'; @@ -18,5 +19,6 @@ export const SYSTEM = { SETTINGS, HOOKS, EFFECTS, - ACTIONS + ACTIONS, + FLAGS }; diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 4e0e1aeb..9e467cab 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -90,9 +90,6 @@ export default class DhCharacter extends BaseDataActor { attack: new fields.NumberField({ integer: true, initial: 0 }), spellcast: new fields.NumberField({ integer: true, initial: 0 }), armorScore: new fields.NumberField({ integer: true, initial: 0 }) - }), - layout: new fields.SchemaField({ - listView: new fields.BooleanField({ initial: true }) }) }; }