From dec0488b082ebb3f75ae85cf63479fee8e1a50c4 Mon Sep 17 00:00:00 2001 From: Xaz16 Date: Sun, 15 Dec 2019 20:26:53 +0300 Subject: [PATCH] Fix: reassign object for user.items.mounts to trigger change in vue view --- website/common/script/ops/buy/buyMount.js | 5 ++++- website/common/script/ops/buy/hourglassPurchase.js | 5 ++++- website/common/script/ops/feed.js | 6 ++++-- website/common/script/ops/releaseBoth.js | 5 ++++- website/common/script/ops/releaseMounts.js | 5 ++++- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/website/common/script/ops/buy/buyMount.js b/website/common/script/ops/buy/buyMount.js index 660b78b1dd..dbc4517938 100644 --- a/website/common/script/ops/buy/buyMount.js +++ b/website/common/script/ops/buy/buyMount.js @@ -34,7 +34,10 @@ export class BuyHourglassMountOperation extends AbstractHourglassItemOperation { } executeChanges (user) { - user.items.mounts[this.key] = true; + user.items.mounts = { + ...user.items.mounts, + [this.key]: true, + }; if (user.markModified) user.markModified('items.mounts'); diff --git a/website/common/script/ops/buy/hourglassPurchase.js b/website/common/script/ops/buy/hourglassPurchase.js index 29f089d8c7..3181bc49b4 100644 --- a/website/common/script/ops/buy/hourglassPurchase.js +++ b/website/common/script/ops/buy/hourglassPurchase.js @@ -55,7 +55,10 @@ export default function purchaseHourglass (user, req = {}, analytics, quantity = } if (type === 'mounts') { - user.items.mounts[key] = true; + user.items.mounts = { + ...user.items.mounts, + [key]: true, + }; if (user.markModified) user.markModified('items.mounts'); } } diff --git a/website/common/script/ops/feed.js b/website/common/script/ops/feed.js index d7f970dae0..05170ddba4 100644 --- a/website/common/script/ops/feed.js +++ b/website/common/script/ops/feed.js @@ -17,8 +17,10 @@ function evolve (user, pet, req) { ...user.items.pets, [pet.key]: -1, }; - user.items.mounts[pet.key] = true; - + user.items.mounts = { + ...user.items.mounts, + [pet.key]: true, + }; if (user.markModified) { user.markModified('items.pets'); user.markModified('items.mounts'); diff --git a/website/common/script/ops/releaseBoth.js b/website/common/script/ops/releaseBoth.js index ec405a3544..c97d352e9e 100644 --- a/website/common/script/ops/releaseBoth.js +++ b/website/common/script/ops/releaseBoth.js @@ -64,7 +64,10 @@ export default function releaseBoth (user, req = {}) { ...user.items.pets, [animal]: 0, }; - user.items.mounts[animal] = null; + user.items.mounts = { + ...user.items.mounts, + [animal]: null, + }; } if (user.markModified) { diff --git a/website/common/script/ops/releaseMounts.js b/website/common/script/ops/releaseMounts.js index b41e50d861..e63a1ec4c5 100644 --- a/website/common/script/ops/releaseMounts.js +++ b/website/common/script/ops/releaseMounts.js @@ -28,7 +28,10 @@ export default function releaseMounts (user, req = {}, analytics) { if (user.items.mounts[mount] === null || user.items.mounts[mount] === undefined) { giveMountMasterAchievement = false; } - user.items.mounts[mount] = null; + user.items.mounts = { + ...user.items.mounts, + [mount]: null, + }; } if (user.markModified) user.markModified('items.mounts');