diff --git a/CHANGELOG.md b/CHANGELOG.md index f77d7a1..87fb48b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # Change Log +## [1.0.2] - 2025-02-12 + +### Added + +- Extension icon now reflects whether Privacy Pass is in use or not. + +### Changed + +- Extension icon. + +### Fixed + ## [1.0.1] - 2025-02-11 ### Added diff --git a/src/background.js b/src/background.js index 75e1765..905ce8c 100644 --- a/src/background.js +++ b/src/background.js @@ -3,6 +3,10 @@ import { time } from './popup/utils.js' +import { + update_extension_icon +} from './scripts/icon.js' + import { DOMAIN_PORT, ONION_DOMAIN_PORT, diff --git a/src/chrome_manifest.json b/src/chrome_manifest.json index 6ada1a8..05ae989 100644 --- a/src/chrome_manifest.json +++ b/src/chrome_manifest.json @@ -2,23 +2,19 @@ "manifest_version": 3, "name": "Kagi Privacy Pass", "description": "Enables use of Privacy Pass to authenticate Kagi search.", - "version": "1.0.1", + "version": "1.0.2", "action": { "default_popup": "popup/popup.html", - "default_icon": "images/icon-64.png" + "default_icon": "images/icons/disabled/icon-64.png" }, "content_security_policy": { "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';" }, "icons": { - "16": "images/icon-16.png", - "32": "images/icon-32.png", - "48": "images/icon-48.png", - "64": "images/icon-64.png", - "96": "images/icon-96.png", - "128": "images/icon-128.png", - "256": "images/icon-256.png", - "512": "images/icon-512.png" + "16": "images/icons/enabled/icon-16.png", + "32": "images/icons/enabled/icon-32.png", + "64": "images/icons/enabled/icon-64.png", + "128": "images/icons/enabled/icon-128.png" }, "permissions": [ "declarativeNetRequestWithHostAccess", diff --git a/src/firefox_manifest.json b/src/firefox_manifest.json index 3212108..abc6c6b 100644 --- a/src/firefox_manifest.json +++ b/src/firefox_manifest.json @@ -2,23 +2,19 @@ "manifest_version": 3, "name": "Kagi Privacy Pass", "description": "Enables use of Privacy Pass to authenticate Kagi search.", - "version": "1.0.1", + "version": "1.0.2", "action": { "default_popup": "popup/popup.html", - "default_icon": "images/icon-32.png" + "default_icon": "images/icons/disabled/icon-64.png" }, "content_security_policy": { "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';" }, "icons": { - "16": "images/icon-16.png", - "32": "images/icon-32.png", - "48": "images/icon-48.png", - "64": "images/icon-64.png", - "96": "images/icon-96.png", - "128": "images/icon-128.png", - "256": "images/icon-256.png", - "512": "images/icon-512.png" + "16": "images/icons/enabled/icon-16.png", + "32": "images/icons/enabled/icon-32.png", + "64": "images/icons/enabled/icon-64.png", + "128": "images/icons/enabled/icon-128.png" }, "permissions": [ "declarativeNetRequestWithHostAccess", diff --git a/src/images/16x16.svg b/src/images/16x16.svg deleted file mode 100644 index 073b41e..0000000 --- a/src/images/16x16.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/images/32x32.svg b/src/images/32x32.svg deleted file mode 100644 index 6e54eb8..0000000 --- a/src/images/32x32.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/images/icon-128.png b/src/images/icon-128.png deleted file mode 100644 index 1008739..0000000 Binary files a/src/images/icon-128.png and /dev/null differ diff --git a/src/images/icon-16.png b/src/images/icon-16.png deleted file mode 100644 index 3939102..0000000 Binary files a/src/images/icon-16.png and /dev/null differ diff --git a/src/images/icon-256.png b/src/images/icon-256.png deleted file mode 100644 index 3813405..0000000 Binary files a/src/images/icon-256.png and /dev/null differ diff --git a/src/images/icon-32.png b/src/images/icon-32.png deleted file mode 100644 index 46aecab..0000000 Binary files a/src/images/icon-32.png and /dev/null differ diff --git a/src/images/icon-48.png b/src/images/icon-48.png deleted file mode 100644 index 83113b5..0000000 Binary files a/src/images/icon-48.png and /dev/null differ diff --git a/src/images/icon-512.png b/src/images/icon-512.png deleted file mode 100644 index 62e46ca..0000000 Binary files a/src/images/icon-512.png and /dev/null differ diff --git a/src/images/icon-64.png b/src/images/icon-64.png deleted file mode 100644 index 39742c2..0000000 Binary files a/src/images/icon-64.png and /dev/null differ diff --git a/src/images/icon-96.png b/src/images/icon-96.png deleted file mode 100644 index 81814b3..0000000 Binary files a/src/images/icon-96.png and /dev/null differ diff --git a/src/images/icons/disabled/icon-128.png b/src/images/icons/disabled/icon-128.png new file mode 100644 index 0000000..6678b21 Binary files /dev/null and b/src/images/icons/disabled/icon-128.png differ diff --git a/src/images/icons/disabled/icon-16.png b/src/images/icons/disabled/icon-16.png new file mode 100644 index 0000000..b0e280d Binary files /dev/null and b/src/images/icons/disabled/icon-16.png differ diff --git a/src/images/icons/disabled/icon-32.png b/src/images/icons/disabled/icon-32.png new file mode 100644 index 0000000..87c3ac8 Binary files /dev/null and b/src/images/icons/disabled/icon-32.png differ diff --git a/src/images/icons/disabled/icon-64.png b/src/images/icons/disabled/icon-64.png new file mode 100644 index 0000000..1dffb30 Binary files /dev/null and b/src/images/icons/disabled/icon-64.png differ diff --git a/src/images/icons/disabled/icon.svg b/src/images/icons/disabled/icon.svg new file mode 100644 index 0000000..234d712 --- /dev/null +++ b/src/images/icons/disabled/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/images/icons/enabled/icon-128.png b/src/images/icons/enabled/icon-128.png new file mode 100644 index 0000000..f24afe8 Binary files /dev/null and b/src/images/icons/enabled/icon-128.png differ diff --git a/src/images/icons/enabled/icon-16.png b/src/images/icons/enabled/icon-16.png new file mode 100644 index 0000000..3aaddb9 Binary files /dev/null and b/src/images/icons/enabled/icon-16.png differ diff --git a/src/images/icons/enabled/icon-32.png b/src/images/icons/enabled/icon-32.png new file mode 100644 index 0000000..41a881b Binary files /dev/null and b/src/images/icons/enabled/icon-32.png differ diff --git a/src/images/icons/enabled/icon-64.png b/src/images/icons/enabled/icon-64.png new file mode 100644 index 0000000..63b46d1 Binary files /dev/null and b/src/images/icons/enabled/icon-64.png differ diff --git a/src/images/icons/enabled/icon.svg b/src/images/icons/enabled/icon.svg new file mode 100644 index 0000000..0f3e567 --- /dev/null +++ b/src/images/icons/enabled/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/popup/clear.js b/src/popup/clear.js index 9e440c0..aa51b76 100644 --- a/src/popup/clear.js +++ b/src/popup/clear.js @@ -2,6 +2,10 @@ import { range } from '../scripts/headers.js' +import { + update_extension_icon +} from '../scripts/icon.js' + async function clearState() { // clear local storage (includes status, tokens, kagi_session, etc) await browser.storage.local.clear(); @@ -10,6 +14,7 @@ async function clearState() { addRules: [], removeRuleIds: range(999) }); + await update_extension_icon(false); } export { diff --git a/src/popup/enable_toggle.js b/src/popup/enable_toggle.js index 1dd4b32..363816a 100644 --- a/src/popup/enable_toggle.js +++ b/src/popup/enable_toggle.js @@ -1,11 +1,18 @@ +import { + update_extension_icon +} from '../scripts/icon.js' + const enabled_checkbox = document.querySelector("#kagipp-enabled") const status_message_indicator = document.querySelector("#status-message-indicator") -async function update_indicator_opacity() { +async function update_indicator_opacity(enabled) { if (!status_message_indicator) { return; } - const { enabled } = await browser.storage.local.get({ 'enabled': false }) + if (typeof enabled === "undefined") { + const { _enabled } = await browser.storage.local.get({ 'enabled': false }) + enabled = _enabled; + } if (enabled) { status_message_indicator.style.opacity = 1; } else { @@ -19,7 +26,7 @@ async function is_enabled() { } const { enabled } = await browser.storage.local.get({ 'enabled': false }) enabled_checkbox.checked = enabled; - await update_indicator_opacity(); + await update_indicator_opacity(enabled); } async function set_enabled() { @@ -30,7 +37,7 @@ async function set_enabled() { const enabled = enabled_checkbox.checked; await browser.storage.local.set({ 'enabled': enabled }) browser.runtime.sendMessage('enabled_changed') - await update_indicator_opacity(); + await update_indicator_opacity(enabled); } export { diff --git a/src/scripts/icon.js b/src/scripts/icon.js new file mode 100644 index 0000000..ee62608 --- /dev/null +++ b/src/scripts/icon.js @@ -0,0 +1,19 @@ +async function update_extension_icon(enabled) { + if (typeof enabled === "undefined") { + const { _enabled } = await browser.storage.local.get({ 'enabled': false }) + enabled = _enabled; + } + const path = enabled ? "enabled" : "disabled"; + await chrome.action.setIcon({ + path: { + 16: `../images/icons/${path}/icon-16.png`, + 32: `../images/icons/${path}/icon-32.png`, + 64: `../images/icons/${path}/icon-64.png`, + 128: `../images/icons/${path}/icon-128.png` + } + }); +} + +export { + update_extension_icon +} \ No newline at end of file diff --git a/src/scripts/toggle.js b/src/scripts/toggle.js index 164cfd6..f8c1ee1 100644 --- a/src/scripts/toggle.js +++ b/src/scripts/toggle.js @@ -15,6 +15,10 @@ import { selfRemovingUnsetRefererHeadersListener } from './headers.js' +import { + update_extension_icon +} from './icon.js' + import { VERBOSE, REDEMPTION_ENDPOINTS, @@ -67,6 +71,7 @@ async function setEnabled() { } catch (ex) { await logError(`${ex}`); await browser.storage.local.set({ 'enabled': false }) + await update_extension_icon(false); await sendPPModeStatus(); return; } @@ -93,6 +98,7 @@ async function setEnabled() { }, [] ) + await update_extension_icon(true); } async function setDisabled() { @@ -112,6 +118,7 @@ async function setDisabled() { { urls: [""] }, ["responseHeaders"] ) + await update_extension_icon(false); } export {