refactor(scripts): add chrome.runtime.sendMessage shortcut to popup script

This commit is contained in:
wanhose 2021-06-27 13:16:38 +02:00
parent 835233570b
commit 235ccbc344

View File

@ -7,6 +7,14 @@
const chromeUrl =
"https://chrome.google.com/webstore/detail/do-not-consent/djcbfpkdhdkaflcigibkbpboflaplabg";
/**
* @constant dispatch
* @description Shortcut to send messages to background script
* @type {void}
*/
const dispatch = chrome.runtime.sendMessage;
/**
* @constant firefoxUrl
* @description Firefox Add-ons link
@ -25,43 +33,37 @@ const firefoxUrl =
const isChromium = chrome.runtime.getURL("").startsWith("chrome-extension://");
/**
* @async
* @function handlePowerChange
* @description Disables or enables extension on current page
*/
const handlePowerChange = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ hostname, id }) => {
chrome.runtime.sendMessage(
{ hostname, type: "GET_CACHE" },
null,
({ enabled }) => {
const power = document.getElementById("power");
const handlePowerChange = () => {
dispatch({ type: "GET_TAB" }, null, ({ hostname, id }) => {
dispatch({ hostname, type: "GET_CACHE" }, null, ({ enabled }) => {
const power = document.getElementById("power");
chrome.runtime.sendMessage({
hostname,
state: { enabled: !enabled },
type: "UPDATE_CACHE",
});
chrome.runtime.sendMessage({
type: !enabled === true ? "ENABLE_ICON" : "DISABLE_ICON",
});
if (!enabled === false) power.removeAttribute("checked");
if (!enabled === true) power.setAttribute("checked", "checked");
chrome.tabs.reload(id, { bypassCache: true });
}
);
dispatch({
hostname,
state: { enabled: !enabled },
type: "UPDATE_CACHE",
});
dispatch({
type: !enabled === true ? "ENABLE_ICON" : "DISABLE_ICON",
});
if (!enabled === false) power.removeAttribute("checked");
if (!enabled === true) power.setAttribute("checked", "checked");
chrome.tabs.reload(id, { bypassCache: true });
});
});
};
/**
* @async
* @function handleReload
* @description Reload current page
*/
const handleReload = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ id }) => {
const handleReload = () => {
dispatch({ type: "GET_TAB" }, null, ({ id }) => {
chrome.tabs.reload(id, { bypassCache: true });
});
};
@ -92,33 +94,28 @@ const handleRate = (event) => {
};
/**
* @async
* @function handleContentLoaded
* @description Setup stars handlers and result message links
*/
const handleContentLoaded = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ hostname, id }) => {
chrome.runtime.sendMessage(
{ hostname, type: "GET_CACHE" },
null,
({ enabled }) => {
const host = document.getElementById("host");
const like = document.getElementById("like");
const power = document.getElementById("power");
const reload = document.getElementById("reload");
const store = document.getElementById("store");
const unlike = document.getElementById("unlike");
const handleContentLoaded = () => {
dispatch({ type: "GET_TAB" }, null, ({ hostname, id }) => {
dispatch({ hostname, type: "GET_CACHE" }, null, ({ enabled }) => {
const host = document.getElementById("host");
const like = document.getElementById("like");
const power = document.getElementById("power");
const reload = document.getElementById("reload");
const store = document.getElementById("store");
const unlike = document.getElementById("unlike");
like.addEventListener("click", handleRate);
power.addEventListener("change", handlePowerChange);
reload.addEventListener("click", handleReload);
store.setAttribute("href", isChromium ? chromeUrl : firefoxUrl);
unlike.addEventListener("click", handleRate);
if (location) host.innerText = hostname.replace("www.", "");
if (!enabled) power.removeAttribute("checked");
}
);
like.addEventListener("click", handleRate);
power.addEventListener("change", handlePowerChange);
reload.addEventListener("click", handleReload);
store.setAttribute("href", isChromium ? chromeUrl : firefoxUrl);
unlike.addEventListener("click", handleRate);
if (location) host.innerText = hostname.replace("www.", "");
if (!enabled) power.removeAttribute("checked");
});
});
};