Enable snowflake extension by default

This commit is contained in:
Cecylia Bocovich 2019-07-03 10:00:46 -04:00
parent d1bcc3cc3e
commit f6f37c7e68
5 changed files with 20 additions and 18 deletions

View file

@ -24,6 +24,7 @@ init = () ->
snowflake = new Snowflake config, ui, broker snowflake = new Snowflake config, ui, broker
log '== snowflake proxy ==' log '== snowflake proxy =='
update()
update = () -> update = () ->
if !ui.enabled if !ui.enabled

View file

@ -4,7 +4,7 @@ All of Snowflake's DOM manipulation and inputs.
class UI class UI
active: false active: false
enabled: false enabled: true
setStatus: (msg) -> setStatus: (msg) ->
@ -73,14 +73,14 @@ class WebExtUI extends UI
initToggle: -> initToggle: ->
try try
getting = chrome.storage.local.get("snowflake-enabled", (result) => getting = chrome.storage.local.get("snowflake-enabled", (result) =>
if result['snowflake-enabled'] != undefined
@enabled = result['snowflake-enabled'] @enabled = result['snowflake-enabled']
update() @setEnabled @enabled
chrome.browserAction.setIcon else
path: log "Toggle state not yet saved"
32: "icons/status-" + (if @enabled then "on" else "off") + ".png"
) )
catch catch
log "Toggle state not yet saved" log "Error retrieving toggle state"
postActive: -> postActive: ->
@port?.postMessage @port?.postMessage
@ -98,10 +98,7 @@ class WebExtUI extends UI
onMessage: (m) => onMessage: (m) =>
@enabled = m.enabled @enabled = m.enabled
update() @setEnabled @enabled
chrome.browserAction.setIcon
path:
32: "icons/status-" + (if @enabled then "on" else "off") + ".png"
@postActive() @postActive()
storing = chrome.storage.local.set({ "snowflake-enabled": @enabled }, storing = chrome.storage.local.set({ "snowflake-enabled": @enabled },
() -> log "Stored toggle state") () -> log "Stored toggle state")
@ -117,3 +114,10 @@ class WebExtUI extends UI
chrome.browserAction.setIcon chrome.browserAction.setIcon
path: path:
32: "icons/status-running.png" 32: "icons/status-running.png"
setEnabled: (enabled) ->
update()
chrome.browserAction.setIcon
path:
32: "icons/status-" + (if enabled then "on" else "off") + ".png"

View file

@ -9,7 +9,7 @@
}, },
"browser_action": { "browser_action": {
"default_icon": { "default_icon": {
"32": "icons/status-off.png" "32": "icons/status-on.png"
}, },
"default_title": "Snowflake", "default_title": "Snowflake",
"default_popup": "popup.html" "default_popup": "popup.html"

View file

@ -7,14 +7,14 @@
</head> </head>
<body> <body>
<div id="active"> <div id="active">
<img src="icons/status-off.png" /> <img src="icons/status-on.png" />
<p></p> <p></p>
<p></p> <p></p>
</div> </div>
<div class="b toggle"> <div class="b toggle">
<label id=toggle>Turn On</label> <label id=toggle>Turn On</label>
<label class="switch"> <label class="switch">
<input id="enabled" type="checkbox"/> <input id="enabled" type="checkbox" checked/>
<span class="slider round"></span> <span class="slider round"></span>
</label> </label>
</div> </div>

View file

@ -7,7 +7,6 @@ port.onMessage.addListener((m) => {
const div = document.getElementById('active'); const div = document.getElementById('active');
const img = div.querySelector('img'); const img = div.querySelector('img');
const enabled = m.enabled const enabled = m.enabled
img.src = `icons/status-${enabled ? "on" : "off"}.png`;
const ps = div.querySelectorAll('p'); const ps = div.querySelectorAll('p');
const clients = active ? 1 : 0; const clients = active ? 1 : 0;
const enabledText = document.getElementById('toggle'); const enabledText = document.getElementById('toggle');
@ -16,15 +15,13 @@ port.onMessage.addListener((m) => {
enabledText.innerText = 'Turn Off'; enabledText.innerText = 'Turn Off';
ps[0].innerText = `${clients} client${(clients !== 1) ? 's' : ''} connected.`; ps[0].innerText = `${clients} client${(clients !== 1) ? 's' : ''} connected.`;
ps[1].innerText = `Your snowflake has helped ${m.total} user${(m.total !== 1) ? 's' : ''} circumvent censorship in the last 24 hours.`; ps[1].innerText = `Your snowflake has helped ${m.total} user${(m.total !== 1) ? 's' : ''} circumvent censorship in the last 24 hours.`;
if (active) {
img.src = `icons/status-running.png`;
}
} else { } else {
ps[0].innerText = "Snowflake is off"; ps[0].innerText = "Snowflake is off";
ps[1].innerText = ""; ps[1].innerText = "";
document.getElementById('enabled').checked = false; document.getElementById('enabled').checked = false;
enabledText.innerText = 'Turn On'; enabledText.innerText = 'Turn On';
} }
img.src = `icons/status-${active? "running" : enabled? "on" : "off"}.png`;
}); });
document.addEventListener('change', (event) => { document.addEventListener('change', (event) => {