From decf9552245be4f3d0294ca23070ea666c760a8d Mon Sep 17 00:00:00 2001 From: wbuezas Date: Tue, 10 Sep 2024 12:38:36 -0300 Subject: [PATCH 1/3] Unload order when checkOrder fails --- src/stores/app.js | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/stores/app.js b/src/stores/app.js index 1bb65cc9..7996e94c 100644 --- a/src/stores/app.js +++ b/src/stores/app.js @@ -97,22 +97,21 @@ export const useAppStore = defineStore('hedera', { await this.checkOrder(this.basketOrderId); return true; } catch (err) { - if (err.exception === 'Vn.Lib.UserError') { - switch (err.code) { - case 'orderConfirmed': - case 'orderNotOwnedByUser': - await this.redirect(); - break; - default: - this.router.push({ - name: 'checkout', - params: { id: this.basketOrderId }, - query: { continue: checkoutContinue } - }); - notify(err.message, 'negative'); - } - return false; - } else throw err; + switch (err.code) { + case 'orderConfirmed': + case 'orderNotOwnedByUser': + this.unloadOrder(); + await this.redirect(); + break; + default: + this.router.push({ + name: 'checkout', + params: { id: this.basketOrderId }, + query: { continue: checkoutContinue } + }); + notify(err.message, 'negative'); + } + return false; } }, @@ -134,6 +133,12 @@ export const useAppStore = defineStore('hedera', { localStorage.setItem('hederaBasket', orderId); notify('orderLoadedIntoBasket', 'positive'); } + }, + + unloadOrder() { + console.log('unloadOrder'); + localStorage.removeItem('hederaBasket'); + this.basketOrderId = null; } }, getters: { -- 2.40.1 From 418911b903f6649a4835e8a9c7cc600c18049abc Mon Sep 17 00:00:00 2001 From: wbuezas Date: Tue, 10 Sep 2024 12:40:02 -0300 Subject: [PATCH 2/3] Remove console.log --- src/stores/app.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/stores/app.js b/src/stores/app.js index 7996e94c..1f2ea229 100644 --- a/src/stores/app.js +++ b/src/stores/app.js @@ -136,7 +136,6 @@ export const useAppStore = defineStore('hedera', { }, unloadOrder() { - console.log('unloadOrder'); localStorage.removeItem('hederaBasket'); this.basketOrderId = null; } -- 2.40.1 From 93e739f35c144e5452da9504135e6d9b8bffa6c2 Mon Sep 17 00:00:00 2001 From: wbuezas Date: Tue, 10 Sep 2024 17:07:29 -0300 Subject: [PATCH 3/3] Create a constant for store local storage order name --- src/stores/app.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/stores/app.js b/src/stores/app.js index 1f2ea229..184fbb71 100644 --- a/src/stores/app.js +++ b/src/stores/app.js @@ -5,6 +5,7 @@ import { i18n } from 'src/boot/i18n'; import { useQuasar } from 'quasar'; const { notify } = useNotify(); +const storageOrderName = 'hederaBasket'; export const useAppStore = defineStore('hedera', { state: () => ({ @@ -72,7 +73,7 @@ export const useAppStore = defineStore('hedera', { }, getBasketOrderId() { - this.basketOrderId = localStorage.getItem('hederaBasket'); + this.basketOrderId = localStorage.getItem(storageOrderName); }, async checkOrder(orderId) { @@ -130,13 +131,13 @@ export const useAppStore = defineStore('hedera', { loadIntoBasket(orderId) { if (this.basketOrderId !== orderId) { this.basketOrderId = orderId; - localStorage.setItem('hederaBasket', orderId); + localStorage.setItem(storageOrderName, orderId); notify('orderLoadedIntoBasket', 'positive'); } }, unloadOrder() { - localStorage.removeItem('hederaBasket'); + localStorage.removeItem(storageOrderName); this.basketOrderId = null; } }, -- 2.40.1