refactor badge.displayBrowserActionBadge to be used in messageHandler.js fixes #973
This commit is contained in:
parent
a328e5bf91
commit
619b5f5c0e
3 changed files with 24 additions and 17 deletions
|
@ -10,16 +10,29 @@ const badge = {
|
|||
browser.browserAction.setTitle({ tabId, title: "Containers disabled in Private Browsing Mode" });
|
||||
},
|
||||
|
||||
async displayBrowserActionBadge() {
|
||||
async displayBrowserActionBadge(action) {
|
||||
const extensionInfo = await backgroundLogic.getExtensionInfo();
|
||||
const storage = await browser.storage.local.get({browserActionBadgesClicked: []});
|
||||
|
||||
function changeBadgeColorText(color, text){
|
||||
browser.browserAction.setBadgeBackgroundColor({color: color});
|
||||
browser.browserAction.setBadgeText({text: text});
|
||||
}
|
||||
if(action==="remove"){
|
||||
const ActionBadgesClickedStorage = await browser.storage.local.get({browserActionBadgesClicked: []});
|
||||
if (MAJOR_VERSIONS.indexOf(extensionInfo.version) > -1 &&
|
||||
storage.browserActionBadgesClicked.indexOf(extensionInfo.version) < 0) {
|
||||
browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"});
|
||||
browser.browserAction.setBadgeText({text: "NEW"});
|
||||
ActionBadgesClickedStorage.browserActionBadgesClicked.indexOf(extensionInfo.version) < 0) {
|
||||
changeBadgeColorText("rgba(0,217,0,255)", "NEW")
|
||||
}
|
||||
}
|
||||
else if (action==="showAchievement"){
|
||||
const achievementsStorage = await browser.storage.local.get({achievements: []});
|
||||
achievementsStorage.achievements.push({"name": "manyContainersOpened", "done": false});
|
||||
// use set and spread to create a unique array
|
||||
const achievements = [...new Set(achievementsStorage.achievements)];
|
||||
browser.storage.local.set({achievements});
|
||||
changeBadgeColorText("rgba(0,217,0,255)", "NEW");
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
badge.init();
|
||||
|
|
|
@ -171,13 +171,7 @@ const messageHandler = {
|
|||
|
||||
// When the user opens their _ tab, give them the achievement
|
||||
if (countOfContainerTabsOpened === 100) {
|
||||
const storage = await browser.storage.local.get({achievements: []});
|
||||
storage.achievements.push({"name": "manyContainersOpened", "done": false});
|
||||
// use set and spread to create a unique array
|
||||
const achievements = [...new Set(storage.achievements)];
|
||||
browser.storage.local.set({achievements});
|
||||
browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"});
|
||||
browser.browserAction.setBadgeText({text: "NEW"});
|
||||
badge.displayBrowserActionBadge("showAchievement");
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -187,7 +181,7 @@ const messageHandler = {
|
|||
// https://bugzil.la/1314674
|
||||
// https://github.com/mozilla/testpilot-containers/issues/608
|
||||
// ... so re-call displayBrowserActionBadge on window changes
|
||||
badge.displayBrowserActionBadge();
|
||||
badge.displayBrowserActionBadge("remove");
|
||||
browser.tabs.query({active: true, windowId}).then((tabs) => {
|
||||
if (tabs && tabs[0]) {
|
||||
assignManager.calculateContextMenu(tabs[0]);
|
||||
|
|
Loading…
Add table
Reference in a new issue