Repository navigation
Expand file tree
/
Copy pathoptions.js
More file actions
45 lines (40 loc) · 1.5 KB
/
Copy pathoptions.js
File metadata and controls
45 lines (40 loc) · 1.5 KB
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
const $ = (id) => document.getElementById(id);
const DEFAULTS = {
apiKey: "",
instanceUrl: "https://pastefox.com",
defaultVisibility: "UNLISTED",
defaultExpiration: "never",
openInNewTab: true,
copyToClipboard: true,
notifications: true,
};
async function load() {
const settings = await chrome.storage.sync.get(DEFAULTS);
$("apiKey").value = settings.apiKey;
$("instanceUrl").value = settings.instanceUrl;
$("defaultVisibility").value = settings.defaultVisibility;
$("defaultExpiration").value = settings.defaultExpiration;
$("openInNewTab").checked = settings.openInNewTab;
$("copyToClipboard").checked = settings.copyToClipboard;
$("notifications").checked = settings.notifications;
}
$("btn-save").addEventListener("click", async () => {
await chrome.storage.sync.set({
apiKey: $("apiKey").value.trim(),
instanceUrl: ($("instanceUrl").value.trim() || DEFAULTS.instanceUrl).replace(/\/$/, ""),
defaultVisibility: $("defaultVisibility").value,
defaultExpiration: $("defaultExpiration").value,
openInNewTab: $("openInNewTab").checked,
copyToClipboard: $("copyToClipboard").checked,
notifications: $("notifications").checked,
});
$("saved").classList.add("show");
setTimeout(() => $("saved").classList.remove("show"), 2000);
});
$("btn-clear").addEventListener("click", async () => {
$("apiKey").value = "";
await chrome.storage.sync.set({ apiKey: "" });
$("saved").classList.add("show");
setTimeout(() => $("saved").classList.remove("show"), 2000);
});
load();