diff options
Diffstat (limited to 'js/background.js')
-rw-r--r-- | js/background.js | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/js/background.js b/js/background.js index 3c84b38..a3b5da3 100644 --- a/js/background.js +++ b/js/background.js @@ -29,12 +29,13 @@ var redirectThreshold = 3; function setIcon(image) { var data = { - path: { - 19 : 'images/' + image + '-19.png', - 38 : 'images/' + image + '-38.png' - } + path: {} }; + for (let nr of [16,19,32,38,48,64,128]) { + data.path[nr] = `images/${image}-${nr}.png`; + } + chrome.browserAction.setIcon(data, function() { var err = chrome.runtime.lastError; if (err) { @@ -201,12 +202,21 @@ function setUpRedirectListener() { function updateIcon() { chrome.storage.local.get({disabled:false}, function(obj) { - if (window.matchMedia('(prefers-color-scheme: dark)')) { - setIcon('icon-light'); + if (window.matchMedia('(prefers-color-scheme: dark)').matches) { + setIcon('icon-dark-theme'); } else { - setIcon('icon-dark'); + setIcon('icon-light-theme'); + } + + if (obj.disabled) { + chrome.browserAction.setBadgeText({text: 'off'}); + chrome.browserAction.setBadgeBackgroundColor({color: 'red'}); + if (chrome.browserAction.setBadgeTextColor) { //Not supported in Chrome + chrome.browserAction.setBadgeTextColor({color: '#fafafa'}); + } + } else { + chrome.browserAction.setBadgeText({text: ''}); } - //setIcon(obj.disabled ? 'icon-light' : 'icon-dark'); }); } @@ -410,4 +420,10 @@ function handleStartup(){ chrome.storage.local.set({ enableNotifications: false }); + + updateIcon(); //To set dark/light icon... + let mql = window.matchMedia('(prefers-color-scheme: dark)'); + mql.addEventListener('change', function(e) { + console.log('IT CHANGED ' + e.matches); + }); }
\ No newline at end of file |