Fix bug in settings loading
This commit is contained in:
41
options.js
41
options.js
@ -11,6 +11,14 @@ const DEFAULT_SETTINGS = {
|
||||
"*.chatgpt.com",
|
||||
"*.ebay.com",
|
||||
"*.amazon.com",
|
||||
"*.merrysky.net",
|
||||
"gemgetter.clearlysharp.com/",
|
||||
"*.boardgamegeek.com",
|
||||
"*.duckduckgo.com",
|
||||
"*.geekgroup.app",
|
||||
"*.local",
|
||||
"*.service",
|
||||
"*.todoist.com",
|
||||
],
|
||||
paused: false,
|
||||
siteDelays: { "readscomisconline.ru": 1 },
|
||||
@ -20,6 +28,12 @@ function restore() {
|
||||
browser.storage.local.get(DEFAULT_SETTINGS, (items) => {
|
||||
document.getElementById("delay").value = items.delay;
|
||||
document.getElementById("blacklist").value = items.blacklist.join("\n");
|
||||
document.getElementById("scrobbleBaseUrl").value = items.scrobbleBaseUrl;
|
||||
document.getElementById("siteDelays").value = Object.entries(
|
||||
items.siteDelays || {},
|
||||
)
|
||||
.map(([d, s]) => `${d}=${s}`)
|
||||
.join("\n");
|
||||
});
|
||||
}
|
||||
|
||||
@ -30,10 +44,27 @@ function save() {
|
||||
.value.split("\n")
|
||||
.map((x) => x.trim())
|
||||
.filter(Boolean);
|
||||
const scrobbleBaseUrl = document
|
||||
.getElementById("scrobbleBaseUrl")
|
||||
.value.trim();
|
||||
const siteDelaysLines = document
|
||||
.getElementById("siteDelays")
|
||||
.value.split("\n")
|
||||
.map((l) => l.trim())
|
||||
.filter(Boolean);
|
||||
|
||||
browser.storage.local.set({ delay, blacklist }, () => {
|
||||
const status = document.getElementById("status");
|
||||
status.textContent = "Settings saved.";
|
||||
setTimeout(() => (status.textContent = ""), 1500);
|
||||
});
|
||||
const siteDelays = {};
|
||||
for (const line of siteDelaysLines) {
|
||||
const [domain, sec] = line.split("=");
|
||||
if (domain && sec) siteDelays[domain.trim()] = parseFloat(sec);
|
||||
}
|
||||
|
||||
browser.storage.local.set(
|
||||
{ delay, blacklist, scrobbleBaseUrl, siteDelays },
|
||||
() => {
|
||||
const status = document.getElementById("status");
|
||||
status.textContent = "Settings saved.";
|
||||
setTimeout(() => (status.textContent = ""), 1500);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user