Fix Equipment modal and json filter

This commit is contained in:
ARIA committed 2026-07-03 11:53:35 +02:00
1 parent 130998105a
commit 9720a7befe
5 files changed
+35 -10

No files matched your search

+7 -7
View File
@@ -77,7 +77,7 @@ function generateItemId() {
* Updates lastGeneratedData and committedTrackerData to include current equipment state
*/
function updateEquipmentData() {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
const currentData = lastGeneratedData.userStats || committedTrackerData.userStats;
if (currentData) {
@@ -153,7 +153,7 @@ export function showCreateModal() {
* @param {string} itemId - ID of the item to edit
*/
export function showEditModal(itemId) {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
const item = equipment.items.find(i => i.id === itemId);
if (!item) return;
@@ -363,7 +363,7 @@ export function saveEquipmentItem() {
stats[attr] = Math.max(1, Math.min(20, val));
});
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
// Migrate old types (ring1-ring10 -> ring, accessory1-3 -> accessory)
migrateItemTypes(equipment.items);
@@ -423,7 +423,7 @@ export function saveEquipmentItem() {
* @param {string} itemId - ID of the item to equip
*/
export function equipItem(itemId) {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
const item = equipment.items.find(i => i.id === itemId);
if (!item) return;
@@ -454,7 +454,7 @@ export function equipItem(itemId) {
* @param {string} slotId - The slot to unequip from
*/
export function unequipItem(slotId) {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
const item = equipment.items.find(i => i.slot === slotId);
if (item) {
item.slot = null;
@@ -473,7 +473,7 @@ export function unequipItem(slotId) {
* @param {string} itemId - ID of the item to delete
*/
export function deleteItem(itemId) {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
// Unequip if currently equipped
const item = equipment.items.find(i => i.id === itemId);
@@ -497,7 +497,7 @@ export function deleteItem(itemId) {
* @returns {Object} Map of attribute ID to total bonus value
*/
export function getEquipmentBonuses() {
const equipment = extensionSettings.userStats.equipment;
const equipment = extensionSettings.userStats?.equipment || { items: [], slots: {} };
const bonuses = {};
const items = equipment.items || [];