feat: share watch queue across tabs via localStorage + storage events
Queue was sessionStorage (per-tab only). Switch to localStorage so any tab can add to our shared queue. Storage events fire in all other same-origin tabs on mutation — renderQueue() wired to keep UI in sync automatically.
This commit is contained in:
parent
f12fa036a6
commit
5ceeaf8a69
1 changed files with 11 additions and 3 deletions
|
|
@ -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) {}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue