Improve icon display

This commit is contained in:
buzz-lightsnack-2007 2024-05-06 13:41:07 +08:00
parent a723791d1b
commit fa97743fc8

View file

@ -13,42 +13,41 @@ class IconIndicator {
BrowserIcon.enable(); BrowserIcon.enable();
// Enable icon changes if enabled within the settings. // Enable icon changes if enabled within the settings.
global.read([`settings`, `general`, `showApplicable`]).then((PREFERENCE) => {(PREFERENCE) (Tabs.query(null, 0)).then((TAB) => {
? fetch(CONFIG).then((response) => response.json()).then((jsonData) => { // Get the URL of the tab.
const ICON_COLORS = jsonData; const LOCATION = TAB.url;
/* global.read([`settings`, `general`, `showApplicable`]).then((PREFERENCE) => {(PREFERENCE)
Show an iconified summary of the results. ? fetch(CONFIG).then((response) => response.json()).then(async (jsonData) => {
const ICON_COLORS = jsonData;
@param {string} location the URL of the page /*
@param {string} ID the tab's ID Show an iconified summary of the results.
*/
function showDetails(location, ID) {
let LOCATION = location;
// If the tab data is ready, change the icon to reflect the results.
global.read([`sites`, LOCATION, `status`]).then(async (STATUS) => {
if (STATUS) {
(STATUS[`error`]) ? BrowserIcon.set({
"BadgeText": await (new texts(`extensionIcon_error`)).symbol,
"BadgeBackgroundColor": ICON_COLORS[`error`]
}, {"tabId": ID}) : false;
if (STATUS[`done`]) { @param {string} location the URL of the page
global.read([`sites`, LOCATION, `analysis`, `Rating`, `Trust`]).then(async (RESULTS) => { @param {string} ID the tab's ID
(RESULTS) ? BrowserIcon.set({ */
"BadgeText": await (new texts(`extensionIcon_product_`.concat(RESULTS))).symbol, function showDetails(location, ID) {
"BadgeBackgroundColor": ICON_COLORS[`product_`.concat(RESULTS)] let LOCATION = location;
}, {"tabId": ID}) : false; // If the tab data is ready, change the icon to reflect the results.
}) global.read([`sites`, LOCATION, `status`]).then(async (STATUS) => {
if (STATUS) {
(STATUS[`error`]) ? BrowserIcon.set({
"BadgeText": await (new texts(`extensionIcon_error`)).symbol,
"BadgeBackgroundColor": ICON_COLORS[`error`]
}, {"tabId": ID}) : false;
if (STATUS[`done`]) {
global.read([`sites`, LOCATION, `analysis`, `Rating`, `Trust`]).then(async (RESULTS) => {
(RESULTS) ? BrowserIcon.set({
"BadgeText": await (new texts(`extensionIcon_product_`.concat(RESULTS))).symbol,
"BadgeBackgroundColor": ICON_COLORS[`product_`.concat(RESULTS)]
}, {"tabId": ID}) : false;
})
};
}; };
}; });
}); }
}
(Tabs.query(null, 0)).then(async (TAB) => {
// Get the URL of the tab.
let LOCATION = TAB.url;
BrowserIcon.set({ BrowserIcon.set({
"BadgeText": await (new texts(`extensionIcon_website_loading`)).symbol, "BadgeText": await (new texts(`extensionIcon_website_loading`)).symbol,
@ -58,12 +57,11 @@ class IconIndicator {
showDetails(LOCATION, TAB.id); showDetails(LOCATION, TAB.id);
observe((changes) => { observe((changes) => {
showDetails(LOCATION, TAB.id); showDetails(LOCATION, TAB.id);
}) });
}); })
: false;
}) })
: false;
}) })
} }
/* /*
@ -75,10 +73,12 @@ class IconIndicator {
// Enable icon changes if enabled within the settings. // Enable icon changes if enabled within the settings.
global.read([`settings`, `general`, `showApplicable`]).then((PREFERENCE) => { global.read([`settings`, `general`, `showApplicable`]).then((PREFERENCE) => {
(Tabs.query(null, 0)).then(async (TAB) => { (Tabs.query(null, 0)).then(async (TAB) => {
BrowserIcon.set({ (PREFERENCE)
? BrowserIcon.set({
"BadgeText": await (new texts(`extensionIcon_website_unsupported`)).symbol, "BadgeText": await (new texts(`extensionIcon_website_unsupported`)).symbol,
"BadgeBackgroundColor": await fetch(CONFIG).then((response) => response.json()).then((jsonData) => {return (jsonData[`N/A`]);}) "BadgeBackgroundColor": await fetch(CONFIG).then((response) => response.json()).then((jsonData) => {return (jsonData[`N/A`]);})},
}, {"tabId": TAB.id}); {"tabId": TAB.id})
: false;
}) })
}) })
} }