71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
document.addEventListener("DOMContentLoaded", restore);
|
|
document.getElementById("save").addEventListener("click", save);
|
|
|
|
const DEFAULT_SETTINGS = {
|
|
delay: 7,
|
|
blacklist: [
|
|
"*.unbl.ink",
|
|
"moz-extension://",
|
|
"*.google.com",
|
|
"gmail.com",
|
|
"*.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 },
|
|
};
|
|
|
|
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");
|
|
});
|
|
}
|
|
|
|
function save() {
|
|
const delay = parseInt(document.getElementById("delay").value, 10);
|
|
const blacklist = document
|
|
.getElementById("blacklist")
|
|
.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);
|
|
|
|
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);
|
|
},
|
|
);
|
|
}
|