blob: 74acea4595f1ebe636ca965acdc18f2eb5298980 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
"use strict";
if (typeof(browser) == "undefined") {
globalThis.browser = chrome;
}
const cats = [];
function reflectChange(changes, name, proc) {
if (name in changes
&& "newValue" in changes[name]
&& !Object.is(changes[name].newValue, changes[name].oldValue)) {
proc(changes[name].newValue);
}
}
async function main() {
let enabled = (await browser.storage.sync.get("enabled")).enabled;
browser.storage.onChanged.addListener(changes => {
reflectChange(changes, "enabled", newEnabled => {
enabled = newEnabled;
cats.forEach(cat => cat.hidden = !enabled);
});
});
let counter = 0;
function addCat(alt, url) {
const floatingX = document.createElement("div");
floatingX.style.setProperty("--floating-cats-floating-delay", `-${50 * counter++}s`);
floatingX.classList.add("floating-cats-clickthru");
floatingX.classList.add("floating-cats-floating");
floatingX.classList.add("floating-cats-floating-x");
floatingX.hidden = !enabled;
cats.push(floatingX);
document.body.appendChild(floatingX);
const floatingY = document.createElement("img");
floatingY.classList.add("floating-cats-clickthru");
floatingY.classList.add("floating-cats-floating-y");
floatingY.alt = alt;
floatingY.src = browser.runtime.getURL(url);
floatingX.appendChild(floatingY);
}
addCat("Spinning Marsey", "/marsey3d.webp");
addCat("Spinning Bob", "/bobvibes.webp");
}
main();
|