diff --git a/make_post_sell/static/js/watch.js b/make_post_sell/static/js/watch.js index 0c195a9..23052c6 100644 --- a/make_post_sell/static/js/watch.js +++ b/make_post_sell/static/js/watch.js @@ -205,12 +205,20 @@ }); } - // Restore queue from sessionStorage + // Restore queue from localStorage (shared across tabs) try { - var savedQueue = sessionStorage.getItem('watchQueue'); + var savedQueue = localStorage.getItem('watchQueue'); if (savedQueue) queue = JSON.parse(savedQueue); } catch (e) {} + // Sync queue from other tabs via storage events + window.addEventListener('storage', function(e) { + if (e.key === 'watchQueue') { + try { queue = e.newValue ? JSON.parse(e.newValue) : []; } catch (ex) {} + renderQueue(); + } + }); + // Mod status (shop owner/editor) var isMod = false; @@ -424,7 +432,7 @@ // --- Queue management --- function saveQueue() { try { - sessionStorage.setItem('watchQueue', JSON.stringify(queue)); + localStorage.setItem('watchQueue', JSON.stringify(queue)); } catch (e) {} }