about summary refs log tree commit diff stats
path: root/src/pages/options/twitter.js
blob: 8bd5affa0af69272a1b636cce6b0615c482546fa (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
51
52
53
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import commonHelper from "../../assets/javascripts/helpers/common.js";
import shared from "./shared.js";

const nitterInstances = twitterHelper.redirects;
let nitterInstance = document.getElementById("nitter-instance");
let disableNitter = document.getElementById("disable-nitter");
let nitterRandomPool = document.getElementById("nitter-random-pool");
let removeTwitterSW = document.getElementById("remove-twitter-sw");

browser.storage.sync.get(
    [
        "nitterInstance",
        "disableNitter",
        "nitterRandomPool",
        "removeTwitterSW",
    ],
    (result) => {
        nitterInstance.value = result.nitterInstance || "";
        disableNitter.checked = !result.disableNitter;
        nitterRandomPool.value = result.nitterRandomPool || commonHelper.filterInstances(nitterInstances);
        removeTwitterSW.checked = !result.removeTwitterSW;
        let id = "nitter-instance"
        let instances = nitterRandomPool.value.split(',')
        shared.autocompletes.push({ id: id, instances: instances })
        shared.autocomplete(document.getElementById(id), instances);
    }
)

const nitterInstanceChange = commonHelper.debounce(
    () => {
        if (nitterInstance.checkValidity()) {
            browser.storage.sync.set({
                nitterInstance: shared.parseURL(nitterInstance.value),
            });
        }
    },
    500)
nitterInstance.addEventListener("input", nitterInstanceChange);


disableNitter.addEventListener("change", (event) => {
    browser.storage.sync.set({ disableNitter: !event.target.checked });
});

removeTwitterSW.addEventListener("change", (event) => {
    browser.storage.sync.set({ removeTwitterSW: !event.target.checked });
});

const nitterRandomPoolChange = commonHelper.debounce(() => {
    browser.storage.sync.set({ nitterRandomPool: nitterRandomPool.value });
}, 500);
nitterRandomPool.addEventListener("input", nitterRandomPoolChange);