Initial commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
const $ = id => document.getElementById(id);
|
||||
let tab = null;
|
||||
let host = "";
|
||||
|
||||
const render = async () => {
|
||||
const d = await chrome.storage.local.get(["meta", "allowlist"]);
|
||||
const m = d.meta || {};
|
||||
const allow = d.allowlist || [];
|
||||
$("net").textContent = "Network rules: " + (m.network || 0) + (m.networkTotal > m.network ? " of " + m.networkTotal : "");
|
||||
$("cos").textContent = "Cosmetic: " + (m.generic || 0) + " generic, " + (m.specific || 0) + " site-specific";
|
||||
$("js").textContent = "Scriptlets: " + (m.scriptlets || 0);
|
||||
$("updated").textContent = "Updated: " + (m.updated ? new Date(m.updated).toLocaleString() : "never");
|
||||
$("err").textContent = m.error || "";
|
||||
if (host) {
|
||||
const off = allow.includes(host);
|
||||
$("site").textContent = host + (off ? " (disabled)" : "");
|
||||
$("toggle").textContent = off ? "Enable on this site" : "Disable on this site";
|
||||
$("toggle").hidden = false;
|
||||
}
|
||||
};
|
||||
|
||||
$("toggle").addEventListener("click", async () => {
|
||||
await chrome.runtime.sendMessage({ cmd: "toggle", host });
|
||||
if (tab) chrome.tabs.reload(tab.id);
|
||||
await render();
|
||||
});
|
||||
|
||||
$("update").addEventListener("click", async e => {
|
||||
e.target.disabled = true;
|
||||
e.target.textContent = "Updating...";
|
||||
await chrome.runtime.sendMessage({ cmd: "update" });
|
||||
await render();
|
||||
e.target.disabled = false;
|
||||
e.target.textContent = "Update lists now";
|
||||
});
|
||||
|
||||
(async () => {
|
||||
[tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||
try {
|
||||
const u = new URL(tab.url);
|
||||
if (/^https?:$/.test(u.protocol)) host = u.hostname.replace(/^www\./, "");
|
||||
} catch (e) {}
|
||||
await render();
|
||||
})();
|
||||
Reference in New Issue
Block a user