-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoptions.js
119 lines (104 loc) · 4.82 KB
/
options.js
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// If sync.get fails, we default to everything on
let default_options = {
twitterImages: true,
twitterGifs: true,
instagramImages: true,
facebookImages: true,
tweetdeckImages: true,
linkedinImages: true,
mastodonImages: true,
blueskyImages: true,
threadsImages: true,
colorNoAlt: "#FF0000",
colorAltBg: "#0000FF",
aiColorAltBg: "#750238",
colorAltText: "#FFFFFF",
};
// Saves options to chrome.storage
function save_options() {
let options = {
twitterImages: document.getElementById("twitter_images").checked,
twitterGifs: document.getElementById("twitter_gifs").checked,
instagramImages: document.getElementById("instagram_images").checked,
facebookImages: document.getElementById("facebook_images").checked,
tweetdeckImages: document.getElementById("tweetdeck_images").checked,
linkedinImages: document.getElementById("linkedin_images").checked,
mastodonImages: document.getElementById("mastodon_images").checked,
blueskyImages: document.getElementById("bluesky_images").checked,
threadsImages: document.getElementById("threads_images").checked,
colorNoAlt: document.getElementById("color_no_alt").value,
colorAltBg: document.getElementById("color_alt_background").value,
aiColorAltBg: document.getElementById("ai_color_alt_background").value,
colorAltText: document.getElementById("color_alt_text").value,
};
chrome.storage.sync.set(
{
options: options,
},
function () {
// Update status to let user know options were saved.
let status = document.getElementById("status");
status.textContent = "Options saved.";
setTimeout(function () {
status.textContent = "";
}, 750);
}
);
}
// Restores select box and checkbox state using the preferences
function restore_options() {
// Use default values
chrome.storage.sync.get(
{
options: default_options,
},
function (items) {
document.getElementById("twitter_images").checked =
items.options.hasOwnProperty("twitterImages")
? items.options.twitterImages
: default_options.twitterImages;
document.getElementById("twitter_gifs").checked =
items.options.hasOwnProperty("twitterGifs")
? items.options.twitterGifs
: default_options.twitterGifs;
document.getElementById("instagram_images").checked =
items.options.hasOwnProperty("instagramImages")
? items.options.instagramImages
: default_options.instagramImages;
document.getElementById("facebook_images").checked =
items.options.hasOwnProperty("facebookImages")
? items.options.facebookImages
: default_options.facebookImages;
document.getElementById("tweetdeck_images").checked =
items.options.hasOwnProperty("tweetdeckImages")
? items.options.tweetdeckImages
: default_options.tweetdeckImages;
document.getElementById("linkedin_images").checked =
items.options.hasOwnProperty("linkedinImages")
? items.options.linkedinImages
: default_options.linkedinImages;
document.getElementById("mastodon_images").checked =
items.options.hasOwnProperty("mastodonImages")
? items.options.mastodonImages
: default_options.mastodonImages;
document.getElementById("bluesky_images").checked =
items.options.hasOwnProperty("blueskyImages")
? items.options.blueskyImages
: default_options.blueskyImages;
document.getElementById("threads_images").checked =
items.options.hasOwnProperty("threadsImages")
? items.options.threadsImages
: default_options.threadsImages;
document.getElementById("color_no_alt").value =
items.options.colorNoAlt || default_options.colorNoAlt;
document.getElementById("color_alt_background").value =
items.options.colorAltBg || default_options.colorAltBg;
document.getElementById("ai_color_alt_background").value =
items.options.aiColorAltBg || default_options.aiColorAltBg;
document.getElementById("color_alt_text").value =
items.options.colorAltText || default_options.colorAltText;
}
);
}
document.addEventListener("DOMContentLoaded", restore_options);
document.getElementById("save").addEventListener("click", save_options);