-
Notifications
You must be signed in to change notification settings - Fork 0
/
popup.js
43 lines (36 loc) · 1.11 KB
/
popup.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
let state;
const toggleDesignMode = () => {
broadcast({ type: "toggle-designmode" });
};
const takeScreenshot = () => {
broadcast({ type: "capture" });
};
const broadcast = (message) => {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
chrome.tabs.sendMessage(tabs[0].id, message, function (response) {
console.log(response);
if (!response) return;
switch (response.type) {
case "toggle-designmode":
document.getElementById("toggle-design-mode-btn").innerHTML =
response.payload === "on" ? "Disable" : "Enable";
break;
case "get-state":
state = response.payload;
document.getElementById("toggle-design-mode-btn").innerHTML =
state.designMode === "on" ? "Disable" : "Enable";
break;
default:
break;
}
});
});
};
const init = () => {
broadcast({ type: "get-state" });
};
document.getElementById("toggle-design-mode-btn").onclick = toggleDesignMode;
document.getElementById("take-screenshot-btn").onclick = takeScreenshot;
window.onload = () => {
init();
};