document.getElementById(id).innerHTML = msg;
}
-function loadLocalStorage() {
+function replayOfflineQueue() {
if (localStorage) {
- if (localStorage.length) {
- var entries = [];
- for (var i = 0; i < localStorage.length; i++) {
- var value = localStorage.getItem(localStorage.key(i));
- try {
- var key = localStorage.key(i);
- var value = localStorage.getItem(key);
- entries.push({ key: key, value: value });
- } catch (err) {
- console.log("no json: " + value)
- }
- }
- localStorage.clear();
- entries.sort((entry1, entry2) => { return entry1.key > entry2.key;});
- for (var i = 0; i < entries.length; i++) {
- updateRemote(entries[i].value);
- }
+ let queue = JSON.parse(localStorage.getItem("offlineQueue")) || [];
+ if (Array.isArray(queue)) {
+ queue.forEach(function (entry) {
+ updateRemote(entry.data);
+ });
+ localStorage.removeItem("offlineQueue");
}
}
}
if (this.status == 200) {
update("remote", this.responseText);
updateRemote = hiddenUpdateRemote;
- loadLocalStorage();
+ replayOfflineQueue();
updateUI();
clearTimeout(reloadTimer);
} else {
data: data,
id: id
});
- localStorage.setItem(now, fuck);
- console.log(now + ": " + fuck);
+ let queue = JSON.parse(localStorage.getItem("offlineQueue")) || [];
+ queue.push({ time: Date.now(), data: fuck });
+ try {
+ localStorage.setItem("offlineQueue", JSON.stringify(queue));
+ }
+ catch (err) {
+ console.log(err);
+ }
}
}
}