Start on popup

This commit is contained in:
Arlo Breault 2019-05-29 21:27:05 -04:00
parent 11efa42e4c
commit 91255463c6
6 changed files with 87 additions and 16 deletions

View file

@ -3,9 +3,12 @@ All of Snowflake's DOM manipulation and inputs.
###
class UI
active: false
setStatus: (msg) ->
setActive: (connected) ->
@active = connected
log: (msg) ->
@ -16,7 +19,8 @@ class BadgeUI extends UI
constructor: ->
@$badge = document.getElementById('badge')
setActive: (connected) =>
setActive: (connected) ->
super connected
@$badge.className = if connected then 'active' else ''
@ -32,22 +36,40 @@ class DebugUI extends UI
@$msglog.value = ''
# Status bar
setStatus: (msg) =>
setStatus: (msg) ->
@$status.innerHTML = 'Status: ' + msg
setActive: (connected) =>
setActive: (connected) ->
super connected
@$msglog.className = if connected then 'active' else ''
log: (msg) =>
log: (msg) ->
# Scroll to latest
@$msglog.value += msg + '\n'
@$msglog.scrollTop = @$msglog.scrollHeight
class WebExtUI extends UI
port: null
constructor: ->
chrome.runtime.onConnect.addListener @onConnect
postActive: ->
@port?.postMessage
active: @active
onConnect: (port) =>
@port = port
port.onDisconnect.addListener @onDisconnect
@postActive()
onDisconnect: (port) =>
@port = null
setActive: (connected) ->
chrome.browserAction.setIcon {
"path": {
"32": "icons/status-" + (if connected then "on" else "off") + ".png"
}
}
super connected
@postActive()
chrome.browserAction.setIcon
path:
32: "icons/status-" + (if connected then "on" else "off") + ".png"