From 7516e0bc99e244da174239b2c93066985991b255 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Thu, 13 Jul 2023 10:49:04 +0300 Subject: [PATCH] fix: update orders page --- static/js/market.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/static/js/market.js b/static/js/market.js index ee2d799..84c6c40 100644 --- a/static/js/market.js +++ b/static/js/market.js @@ -812,20 +812,24 @@ const market = async () => { }, persistOrderUpdate(pubkey, eventCreatedAt, orderUpdate) { - console.log(('### persistOrderUpdate', pubkey, eventCreatedAt, orderUpdate)) + console.log('### persistOrderUpdate', pubkey, eventCreatedAt, orderUpdate) let orders = this.$q.localStorage.getItem(`nostrmarket.orders.${pubkey}`) || [] - let order = orders.find(o => o.id === orderUpdate.id) - if (!order) { + const orderIndex = orders.findIndex(o => o.id === orderUpdate.id) + + if (orderIndex === -1) { orders.unshift({ ...orderUpdate, eventCreatedAt, createdAt: eventCreatedAt }) this.orders[pubkey] = orders + this.orders = {...this.orders} this.$q.localStorage.set(`nostrmarket.orders.${pubkey}`, orders) return } + let order = orders[orderIndex] + if (orderUpdate.type === 0) { order.createdAt = eventCreatedAt order = { ...order, ...orderUpdate, message: order.message || orderUpdate.message } @@ -833,8 +837,10 @@ const market = async () => { order = order.eventCreatedAt < eventCreatedAt ? { ...order, ...orderUpdate } : { ...orderUpdate, ...order } } - orders = [order].concat(orders.filter(o => o.id !== order.id)) + // orders = [order].concat(orders.filter(o => o.id !== order.id)) + orders.splice(orderIndex, 1, order) this.orders[pubkey] = orders + this.orders = {...this.orders} this.$q.localStorage.set(`nostrmarket.orders.${pubkey}`, orders) },