-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpopup.js
More file actions
53 lines (47 loc) · 1.73 KB
/
popup.js
File metadata and controls
53 lines (47 loc) · 1.73 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
46
47
48
49
50
51
52
53
document.addEventListener("DOMContentLoaded", function () {
var addSiteButton = document.getElementById("addSite");
addSiteButton.addEventListener("click", function () {
var siteInput = document.getElementById("siteInput").value;
if (siteInput) {
chrome.storage.sync.get("blockedSites", function (data) {
var blockedSites = data.blockedSites || [];
blockedSites.push(siteInput);
chrome.storage.sync.set({ blockedSites: blockedSites });
updateBlockedList();
});
document.getElementById("siteInput").value = "";
}
});
function updateBlockedList() {
chrome.storage.sync.get("blockedSites", function (data) {
var blockedSites = data.blockedSites;
if (!blockedSites) {
blockedSites = [];
}
var blockedList = document.getElementById("blockedList");
blockedList.innerHTML = "";
blockedSites.forEach(function (site) {
var li = document.createElement("li");
li.textContent = site;
// add a remove button
var removeButton = document.createElement("button");
removeButton.textContent = "Remove";
removeButton.id = "removeSite";
removeButton.addEventListener("click", function () {
chrome.storage.sync.get("blockedSites", function (data) {
var blockedSites = data.blockedSites;
var index = blockedSites.indexOf(site);
if (index !== -1) {
blockedSites.splice(index, 1);
chrome.storage.sync.set({ blockedSites: blockedSites });
updateBlockedList();
}
});
});
li.appendChild(removeButton);
blockedList.appendChild(li);
});
});
}
updateBlockedList();
});